Premium Smart Exit HMA [ByteBoost]The Premium Smart Exit HMA strategy is designed for fast-paced trend detection and is well-suited for small trades in highly volatile markets. It utilizes the Hull Moving Average (HMA) as a signal to execute trades and offers customizable inputs for price calculation, period settings, and stop loss/take profit levels. The strategy aims to reduce lag associated with traditional moving averages, allowing it to catch trends quickly.
Development Notes
This Strategy was developed with the PineScript language, version 5. The aim of the strategy is to provide a trading system that catches fast trend reversals and uses a modified version of the Hull Moving Average. The HMA adeptly adapts to swift variations in price movements while offering better smoothing and utilizes a user selected moving averages, mitigating the smoothing effect and is controlled with a custom weight design.
Features
Customizable trading periods.
Customizable stop loss and take profit levels.
Adjustable date range for backtesting.
Allows setting of initial capital, commission type and value.
Provides visual aids for better understanding of the market trends.
Customize the visuals of the strategy.
Strategy Description
The Smart Exit HMA strategy offers the flexibility to use various types of moving averages, allowing customization of inputs for price calculation, period settings, and stop loss/take profit levels. The strategy relies on the Hull Moving Average (HMA) as a signal to execute trades. However, you have control over the signal frequency by selecting your preferred period value, which determines the number of candles used in the average calculation. This allows you to adapt the strategy to market tendencies and increase its effectiveness during clear trends.
The Smart Exit HMA strategy is designed to minimize lag associated with traditional moving averages, enabling it to respond more quickly to recent price movements based on your chosen period. It's worth noting that the strategy plots two lines on the graph: the average line and the square root line. Buy and sell signals are generated when both lines intersect, indicating favorable trading opportunities.
Inputs/Settings
Capital - If using any leverage multiply the amount of money to invest by the leverage, else input the amount to be invested in every trade.
Start date - The date from which the strategy should begin its analysis. Leave unchanged to start from the earliest available date based on your account's plan.
End date - The date until which the strategy should conduct its analysis. Leave unchanged to continue until the current date.
Period - The lookback period for the moving average calculation, a longer period will translate into fewer trades that last longer.
Stop loss - Allows the use of a stop loss for all trades.
Take profit - Activates the use of a take profit for all trades.
Stop loss value - The distance from the entry price at which the strategy should exit to prevent further losses.
Take profit value - The distance from the entry price at which the strategy should exit to secure profits.
Take profit % - The percentage of the capital to take as profit.
Stop loss % - The percentage of the capital to set as the maximum loss.
Candles exit - The minimum number of candles before the strategy is allowed to close a trade.
Candles change - The minimum number of candles before the strategy is allowed to change the current trend.
Moving average type - Determines the preprocessing method applied prior to utilizing the HMA.
Custom weight - Enables the utilization of a personalized weighting system for the HMA. If chosen, ensure that the sum of all weights equals 1.
Open weight - Determines the weight assigned to the candle's open value.
Close weight - Specifies the weight assigned to the candle's close value.
High weight - Sets the weight attributed to the candle's high value.
Low weight - Determines the weight assigned to the candle's low value.
Highlighter - Light coloring between the trend and average price of each bar.
Signal labels - View the labels indicating a new long or short position.
Exit labels - Displays the labels indicating exit points.
Color long - Sets the color scheme for a new long position.
Color short - Sets the color scheme for a new short position.
Color exit - Decides the color scheme for the exit tag and cross shown.
Indicator Visuals
The strategy plots the two trendlines on the chart and changes its color based on its direction. It also plots shapes on the chart to denote potential buy (Long) and sell (Short) points where the signals of short and long will appear, as well as crosses for the exit points.
Strategy Alerts
The strategy does not include built-in alerts. However, alerts can be added using the TradingView interface based on the strategy's buy, sell and exit conditions. This way you will be able to receive notifications on your computer or phone when a new signal goes out.
Details
Repainting: It is important to mention that the strategy can mark an uptrend signal during a candle and disappear at the end of it, so please just put long or short when the buy/sell conditions are followed and marked by the strategy at the end of each candle.
Conclusion
The Premium Smart Exit HMA is a versatile strategy that combines the benefits of the Hull Moving Average with adjustable parameters to suit individual trading styles. It offers a combination of speed and smoothness, which can be beneficial in volatile markets.
Disclaimer
This strategy is provided as-is, with no guarantee of profits or responsibility for losses. Trading involves risk, and you should only trade with money you can afford to lose. Always conduct your own research and consider your financial situation before engaging in trading.
Cari dalam skrip untuk "stop loss"
Premium Volatility Breakout Strategy [wbburgin]This the premium version of my Volatility Breakout strategy, which improves significantly on the original strategy (publicly available on my profile). Improvements are below. A note about any of my premium scripts: I will continue updating and improving the original (public) versions.
This strategy is not built for any specific asset or timeframe, and has been backtested on crypto, equities, and forex from 1min - 1day. However, I recommend using it on more volatile assets because it is a breakout strategy.
********** My Background
I am an investor, trader, and entrepreneur with 10 years of cryptocurrency and equity trading experience and founder of two fintech startups. I am a graduate of a prestigious university in the United States and carry broad and inclusive interests in mathematical finance, computer science, machine learning / artificial intelligence, as well as other fields.
**********
Improvements over the original Volatility Breakout strategy include:
Faster Trend Detection → The Premium Volatility Breakout strategy will catch trends faster by using adaptive volatility-weighted bands instead of standard-width volatility-weighted bands. This can improve win size and has performed well in my backtesting.
ADX Filter → False breakouts dampen the overall results of the original script, as well as the % profitable,so an ADX filter has been programmed into the script (toggle on/off in settings). This filter will only enter long and short trades when the ADX is above a certain threshold. This is by default toggled off because in most instances it will not be necessary, but in certain environments may be useful.
MA Configuration → Different types of moving averages and weights are now configurable in the settings. These can change the responsiveness of the strategy.
External Trend Filter → I use this strategy as a filter for some of my low-timeframe algorithms. I have added an external trend filter (a plot only displayed in the data window) that will return “1” when the trend is long and “-1” when the trend is short (displayed on-chart with red and green trend curves).
Customizable Alert Messages In-Strategy → In the settings, there will be text boxes where you can create your own alerts. All you will need to do is create an alert in the alert panel on TradingView and leave the message box blank - if you fill out the alert boxes in the settings, these will automatically populate into your alerts. There are in total four different customizable alerts messages: Entry and Exit alerts for both Long and Short sides. If you disable stop loss and/or take profit, these alerts will also be disabled. Similarly, if you disable shorts, all short alerts will be disabled.
About stop losses: This strategy does not come with a stop loss because the moving average acts as a stop loss / trade exit for both long and short entries.
**********
Display
You can turn off highlighting or barcolor in the settings. Additionally, future updates may include a color scheme for users using a light-themed window.
**********
Configuring Alerts
In TradingView desktop, go to the ‘Alerts’ tab on the right panel. Click the “+” button to create a new alert. Select this strategy for the condition and one of the two options that includes alert() function calls. Name the alert what you wish and clear the default message, because your text in the settings will replace this message.
Now that the alert is configured, you can go to the settings of the strategy and fill in your chosen text for the specific alert condition. You will need to check “Long and Short” in the “Trade Direction” setting in order for any Short Alerts to become active.
**********
Disclaimer
Copyright by wbburgin.
The information contained in my Scripts/Indicators/Algorithms does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
GKD-M Accuracy Alchemist [Loxx]Giga Kaleidoscope GKD-M Accuracy Alchemist is a Metamorphosis module included in Loxx's "Giga Kaleidoscope Modularized Trading System".
█ GKD-M Accuracy Alchemist
What is the Accuracy Alchemist?
The Accuracy Alchemist is designed to process up to 10 GKD-C indicators and create a compound signal that can be utilized in a GKD-BT backtest. It achieves this by applying an individual Solo Confirmation Simple backtest to each GKD-C indicator provided. The compound signal is derived from the cumulative accuracy rate of each candle within a specified date range.
To illustrate this process, consider the following scenario:
The Fisher Transform indicator has a 65% win rate for long positions on the current ticker.
The Vortex indicator has a 45% success rate on the current candle.
Suppose a long signal is generated by the Vortex indicator. However, this signal is disregarded because its accuracy is lower than that of the Fisher Transform. Now, imagine that the subsequent candle produces a long signal from the Fisher Transform indicator. This signal will be exported to the backtest. The GKD-C indicator that exhibits the highest accuracy for the current candle is chosen to generate the signal. The dominant indicator, determined by its accuracy, will always be used to generate signals. However, it is important to note that the current dominant indicator might not retain its dominance in the future if its accuracy rate falls below that of other indicators connected within the Accuracy Alchemist indicator.
The Accuracy Alchemist provides a comprehensive table that displays the dominant indicator based on accuracy, highlighted in green for the highest long accuracy rate and in red for the highest short accuracy rate. Additionally, the table presents the cumulative long and short accuracy rates for all indicators.
The functionality of the Accuracy Alchemist extends to several GKD-BT backtests, allowing for seamless integration. These backtests include:
-Solo Confirmation Simple
-Solo Confirmation Complex
-Solo Confirmation Super Complex
-Full GKD (as a Confirmation 1 indicator only)
-Confirmation Stack (as a Confirmation 1 indicator only)
By incorporating the Accuracy Alchemist, you gain the ability to evaluate and compare GKD-C Confirmation indicators within your full GKD trading system. It serves as an ideal tool to assess the performance of different confirmation indicators and aids in the selection process for determining which indicators to incorporate into your trading strategy.
Take Profit and Stoploss
The GKD system utilizes volatility-based take profits and stop losses, where each take profit and stop loss is calculated as a multiple of volatility. Users have the flexibility to adjust the multiplier values in the settings to suit their preferences. Accuracy Alchemist tests the accuracy of GKD-C Confirmation indicators and therefore has only 1 take profit and 1 stoploss. You can adjust the multipliers of both in the settings
Setting up Accuracy Alchemist
To use this indicator, you must import GKD-C Confirmation indicators and then activate them in the Accuracy Alchemist settings. Import the value "Input into NEW GKD-BT Backtest" from a GKD-C indicator and then activate it by checking the box next to the import. See below:
Volatility Types Included
17 types of volatility are included in this indicator
Close-to-Close
Parkinson
Garman-Klass
Rogers-Satchell
Yang-Zhang
Garman-Klass-Yang-Zhang
Exponential Weighted Moving Average
Standard Deviation of Log Returns
Pseudo GARCH(2,2)
Average True Range
True Range Double
Standard Deviation
Adaptive Deviation
Median Absolute Deviation
Efficiency-Ratio Adaptive ATR
Mean Absolute Deviation
Static Percent
Close-to-Close
Close-to-Close volatility is a classic and widely used volatility measure, sometimes referred to as historical volatility.
Volatility is an indicator of the speed of a stock price change. A stock with high volatility is one where the price changes rapidly and with a larger amplitude. The more volatile a stock is, the riskier it is.
Close-to-close historical volatility is calculated using only a stock's closing prices. It is the simplest volatility estimator. However, in many cases, it is not precise enough. Stock prices could jump significantly during a trading session and return to the opening value at the end. That means that a considerable amount of price information is not taken into account by close-to-close volatility.
Despite its drawbacks, Close-to-Close volatility is still useful in cases where the instrument doesn't have intraday prices. For example, mutual funds calculate their net asset values daily or weekly, and thus their prices are not suitable for more sophisticated volatility estimators.
Parkinson
Parkinson volatility is a volatility measure that uses the stock’s high and low price of the day.
The main difference between regular volatility and Parkinson volatility is that the latter uses high and low prices for a day, rather than only the closing price. This is useful as close-to-close prices could show little difference while large price movements could have occurred during the day. Thus, Parkinson's volatility is considered more precise and requires less data for calculation than close-to-close volatility.
One drawback of this estimator is that it doesn't take into account price movements after the market closes. Hence, it systematically undervalues volatility. This drawback is addressed in the Garman-Klass volatility estimator.
Garman-Klass
Garman-Klass is a volatility estimator that incorporates open, low, high, and close prices of a security.
Garman-Klass volatility extends Parkinson's volatility by taking into account the opening and closing prices. As markets are most active during the opening and closing of a trading session, it makes volatility estimation more accurate.
Garman and Klass also assumed that the process of price change follows a continuous diffusion process (Geometric Brownian motion). However, this assumption has several drawbacks. The method is not robust for opening jumps in price and trend movements.
Despite its drawbacks, the Garman-Klass estimator is still more effective than the basic formula since it takes into account not only the price at the beginning and end of the time interval but also intraday price extremes.
Researchers Rogers and Satchell have proposed a more efficient method for assessing historical volatility that takes into account price trends. See Rogers-Satchell Volatility for more detail.
Rogers-Satchell
Rogers-Satchell is an estimator for measuring the volatility of securities with an average return not equal to zero.
Unlike Parkinson and Garman-Klass estimators, Rogers-Satchell incorporates a drift term (mean return not equal to zero). As a result, it provides better volatility estimation when the underlying is trending.
The main disadvantage of this method is that it does not take into account price movements between trading sessions. This leads to an underestimation of volatility since price jumps periodically occur in the market precisely at the moments between sessions.
A more comprehensive estimator that also considers the gaps between sessions was developed based on the Rogers-Satchel formula in the 2000s by Yang-Zhang. See Yang Zhang Volatility for more detail.
Yang-Zhang
Yang Zhang is a historical volatility estimator that handles both opening jumps and the drift and has a minimum estimation error.
Yang-Zhang volatility can be thought of as a combination of the overnight (close-to-open volatility) and a weighted average of the Rogers-Satchell volatility and the day’s open-to-close volatility. It is considered to be 14 times more efficient than the close-to-close estimator.
Garman-Klass-Yang-Zhang
Garman-Klass-Yang-Zhang (GKYZ) volatility estimator incorporates the returns of open, high, low, and closing prices in its calculation.
GKYZ volatility estimator takes into account overnight jumps but not the trend, i.e., it assumes that the underlying asset follows a Geometric Brownian Motion (GBM) process with zero drift. Therefore, the GKYZ volatility estimator tends to overestimate the volatility when the drift is different from zero. However, for a GBM process, this estimator is eight times more efficient than the close-to-close volatility estimator.
Exponential Weighted Moving Average
The Exponentially Weighted Moving Average (EWMA) is a quantitative or statistical measure used to model or describe a time series. The EWMA is widely used in finance, with the main applications being technical analysis and volatility modeling.
The moving average is designed such that older observations are given lower weights. The weights decrease exponentially as the data point gets older – hence the name exponentially weighted.
The only decision a user of the EWMA must make is the parameter lambda. The parameter decides how important the current observation is in the calculation of the EWMA. The higher the value of lambda, the more closely the EWMA tracks the original time series.
Standard Deviation of Log Returns
This is the simplest calculation of volatility. It's the standard deviation of ln(close/close(1)).
Pseudo GARCH(2,2)
This is calculated using a short- and long-run mean of variance multiplied by ?.
?avg(var;M) + (1 ? ?) avg(var;N) = 2?var/(M+1-(M-1)L) + 2(1-?)var/(M+1-(M-1)L)
Solving for ? can be done by minimizing the mean squared error of estimation; that is, regressing L^-1var - avg(var; N) against avg(var; M) - avg(var; N) and using the resulting beta estimate as ?.
Average True Range
The average true range (ATR) is a technical analysis indicator, introduced by market technician J. Welles Wilder Jr. in his book New Concepts in Technical Trading Systems, that measures market volatility by decomposing the entire range of an asset price for that period.
The true range indicator is taken as the greatest of the following: current high less the current low; the absolute value of the current high less the previous close; and the absolute value of the current low less the previous close. The ATR is then a moving average, generally using 14 days, of the true ranges.
True Range Double
A special case of ATR that attempts to correct for volatility skew.
Standard Deviation
Standard deviation is a statistic that measures the dispersion of a dataset relative to its mean and is calculated as the square root of the variance. The standard deviation is calculated as the square root of variance by determining each data point's deviation relative to the mean. If the data points are further from the mean, there is a higher deviation within the data set; thus, the more spread out the data, the higher the standard deviation.
Adaptive Deviation
By definition, the Standard Deviation (STD, also represented by the Greek letter sigma ? or the Latin letter s) is a measure that is used to quantify the amount of variation or dispersion of a set of data values. In technical analysis, we usually use it to measure the level of current volatility.
Standard Deviation is based on Simple Moving Average calculation for mean value. This version of standard deviation uses the properties of EMA to calculate what can be called a new type of deviation, and since it is based on EMA, we can call it EMA deviation. Additionally, Perry Kaufman's efficiency ratio is used to make it adaptive (since all EMA type calculations are nearly perfect for adapting).
The difference when compared to the standard is significant--not just because of EMA usage, but the efficiency ratio makes it a "bit more logical" in very volatile market conditions.
Median Absolute Deviation
The median absolute deviation is a measure of statistical dispersion. Moreover, the MAD is a robust statistic, being more resilient to outliers in a data set than the standard deviation. In the standard deviation, the distances from the mean are squared, so large deviations are weighted more heavily, and thus outliers can heavily influence it. In the MAD, the deviations of a small number of outliers are irrelevant.
Because the MAD is a more robust estimator of scale than the sample variance or standard deviation, it works better with distributions without a mean or variance, such as the Cauchy distribution.
Efficiency-Ratio Adaptive ATR
Average True Range (ATR) is a widely used indicator for many occasions in technical analysis. It is calculated as the RMA of the true range. This version adds a "twist": it uses Perry Kaufman's Efficiency Ratio to calculate adaptive true range.
Mean Absolute Deviation
The mean absolute deviation (MAD) is a measure of variability that indicates the average distance between observations and their mean. MAD uses the original units of the data, which simplifies interpretation. Larger values signify that the data points spread out further from the average. Conversely, lower values correspond to data points bunching closer to it. The mean absolute deviation is also known as the mean deviation and average absolute deviation.
This definition of the mean absolute deviation sounds similar to the standard deviation (SD). While both measure variability, they have different calculations. In recent years, some proponents of MAD have suggested that it replace the SD as the primary measure because it is a simpler concept that better fits real life.
Static Percent
Static Percent allows the user to insert their own constant percent that will then be used to create take profits and stoploss
█ Giga Kaleidoscope Modularized Trading System
Core components of an NNFX algorithmic trading strategy
The NNFX algorithm is built on the principles of trend, momentum, and volatility. There are six core components in the NNFX trading algorithm:
1. Volatility - price volatility; e.g., Average True Range, True Range Double, Close-to-Close, etc.
2. Baseline - a moving average to identify price trend
3. Confirmation 1 - a technical indicator used to identify trends
4. Confirmation 2 - a technical indicator used to identify trends
5. Continuation - a technical indicator used to identify trends
6. Volatility/Volume - a technical indicator used to identify volatility/volume breakouts/breakdown
7. Exit - a technical indicator used to determine when a trend is exhausted
8. Metamorphosis - a technical indicator that produces a compound signal from the combination of other GKD indicators*
*(not part of the NNFX algorithm)
What is Volatility in the NNFX trading system?
In the NNFX (No Nonsense Forex) trading system, ATR (Average True Range) is typically used to measure the volatility of an asset. It is used as a part of the system to help determine the appropriate stop loss and take profit levels for a trade. ATR is calculated by taking the average of the true range values over a specified period.
True range is calculated as the maximum of the following values:
-Current high minus the current low
-Absolute value of the current high minus the previous close
-Absolute value of the current low minus the previous close
ATR is a dynamic indicator that changes with changes in volatility. As volatility increases, the value of ATR increases, and as volatility decreases, the value of ATR decreases. By using ATR in NNFX system, traders can adjust their stop loss and take profit levels according to the volatility of the asset being traded. This helps to ensure that the trade is given enough room to move, while also minimizing potential losses.
Other types of volatility include True Range Double (TRD), Close-to-Close, and Garman-Klass
What is a Baseline indicator?
The baseline is essentially a moving average, and is used to determine the overall direction of the market.
The baseline in the NNFX system is used to filter out trades that are not in line with the long-term trend of the market. The baseline is plotted on the chart along with other indicators, such as the Moving Average (MA), the Relative Strength Index (RSI), and the Average True Range (ATR).
Trades are only taken when the price is in the same direction as the baseline. For example, if the baseline is sloping upwards, only long trades are taken, and if the baseline is sloping downwards, only short trades are taken. This approach helps to ensure that trades are in line with the overall trend of the market, and reduces the risk of entering trades that are likely to fail.
By using a baseline in the NNFX system, traders can have a clear reference point for determining the overall trend of the market, and can make more informed trading decisions. The baseline helps to filter out noise and false signals, and ensures that trades are taken in the direction of the long-term trend.
What is a Confirmation indicator?
Confirmation indicators are technical indicators that are used to confirm the signals generated by primary indicators. Primary indicators are the core indicators used in the NNFX system, such as the Average True Range (ATR), the Moving Average (MA), and the Relative Strength Index (RSI).
The purpose of the confirmation indicators is to reduce false signals and improve the accuracy of the trading system. They are designed to confirm the signals generated by the primary indicators by providing additional information about the strength and direction of the trend.
Some examples of confirmation indicators that may be used in the NNFX system include the Bollinger Bands, the MACD (Moving Average Convergence Divergence), and the MACD Oscillator. These indicators can provide information about the volatility, momentum, and trend strength of the market, and can be used to confirm the signals generated by the primary indicators.
In the NNFX system, confirmation indicators are used in combination with primary indicators and other filters to create a trading system that is robust and reliable. By using multiple indicators to confirm trading signals, the system aims to reduce the risk of false signals and improve the overall profitability of the trades.
What is a Continuation indicator?
In the NNFX (No Nonsense Forex) trading system, a continuation indicator is a technical indicator that is used to confirm a current trend and predict that the trend is likely to continue in the same direction. A continuation indicator is typically used in conjunction with other indicators in the system, such as a baseline indicator, to provide a comprehensive trading strategy.
What is a Volatility/Volume indicator?
Volume indicators, such as the On Balance Volume (OBV), the Chaikin Money Flow (CMF), or the Volume Price Trend (VPT), are used to measure the amount of buying and selling activity in a market. They are based on the trading volume of the market, and can provide information about the strength of the trend. In the NNFX system, volume indicators are used to confirm trading signals generated by the Moving Average and the Relative Strength Index. Volatility indicators include Average Direction Index, Waddah Attar, and Volatility Ratio. In the NNFX trading system, volatility is a proxy for volume and vice versa.
By using volume indicators as confirmation tools, the NNFX trading system aims to reduce the risk of false signals and improve the overall profitability of trades. These indicators can provide additional information about the market that is not captured by the primary indicators, and can help traders to make more informed trading decisions. In addition, volume indicators can be used to identify potential changes in market trends and to confirm the strength of price movements.
What is an Exit indicator?
The exit indicator is used in conjunction with other indicators in the system, such as the Moving Average (MA), the Relative Strength Index (RSI), and the Average True Range (ATR), to provide a comprehensive trading strategy.
The exit indicator in the NNFX system can be any technical indicator that is deemed effective at identifying optimal exit points. Examples of exit indicators that are commonly used include the Parabolic SAR, the Average Directional Index (ADX), and the Chandelier Exit.
The purpose of the exit indicator is to identify when a trend is likely to reverse or when the market conditions have changed, signaling the need to exit a trade. By using an exit indicator, traders can manage their risk and prevent significant losses.
In the NNFX system, the exit indicator is used in conjunction with a stop loss and a take profit order to maximize profits and minimize losses. The stop loss order is used to limit the amount of loss that can be incurred if the trade goes against the trader, while the take profit order is used to lock in profits when the trade is moving in the trader's favor.
Overall, the use of an exit indicator in the NNFX trading system is an important component of a comprehensive trading strategy. It allows traders to manage their risk effectively and improve the profitability of their trades by exiting at the right time.
What is an Metamorphosis indicator?
The concept of a metamorphosis indicator involves the integration of two or more GKD indicators to generate a compound signal. This is achieved by evaluating the accuracy of each indicator and selecting the signal from the indicator with the highest accuracy. As an illustration, let's consider a scenario where we calculate the accuracy of 10 indicators and choose the signal from the indicator that demonstrates the highest accuracy.
The resulting output from the metamorphosis indicator can then be utilized in a GKD-BT backtest by occupying a slot that aligns with the purpose of the metamorphosis indicator. The slot can be a GKD-B, GKD-C, or GKD-E slot, depending on the specific requirements and objectives of the indicator. This allows for seamless integration and utilization of the compound signal within the GKD-BT framework.
How does Loxx's GKD (Giga Kaleidoscope Modularized Trading System) implement the NNFX algorithm outlined above?
Loxx's GKD v2.0 system has five types of modules (indicators/strategies). These modules are:
1. GKD-BT - Backtesting module (Volatility, Number 1 in the NNFX algorithm)
2. GKD-B - Baseline module (Baseline and Volatility/Volume, Numbers 1 and 2 in the NNFX algorithm)
3. GKD-C - Confirmation 1/2 and Continuation module (Confirmation 1/2 and Continuation, Numbers 3, 4, and 5 in the NNFX algorithm)
4. GKD-V - Volatility/Volume module (Confirmation 1/2, Number 6 in the NNFX algorithm)
5. GKD-E - Exit module (Exit, Number 7 in the NNFX algorithm)
6. GKD-M - Metamorphosis module (Metamorphosis, Number 8 in the NNFX algorithm, but not part of the NNFX algorithm)
(additional module types will added in future releases)
Each module interacts with every module by passing data to A backtest module wherein the various components of the GKD system are combined to create a trading signal.
That is, the Baseline indicator passes its data to Volatility/Volume. The Volatility/Volume indicator passes its values to the Confirmation 1 indicator. The Confirmation 1 indicator passes its values to the Confirmation 2 indicator. The Confirmation 2 indicator passes its values to the Continuation indicator. The Continuation indicator passes its values to the Exit indicator, and finally, the Exit indicator passes its values to the Backtest strategy.
This chaining of indicators requires that each module conform to Loxx's GKD protocol, therefore allowing for the testing of every possible combination of technical indicators that make up the six components of the NNFX algorithm.
What does the application of the GKD trading system look like?
Example trading system:
Backtest: Full GKD Backtest
Baseline: Hull Moving Average
Volatility/Volume: Hurst Exponent
Confirmation 1: Composite RSI
Confirmation 2: uf2018
Continuation: Vortex
Exit: Rex Oscillator
Metamorphosis: Fisher Transform, Universal Oscillator, Aroon, Vortex .. combined
Each GKD indicator is denoted with a module identifier of either: GKD-BT, GKD-B, GKD-C, GKD-V, or GKD-E. This allows traders to understand to which module each indicator belongs and where each indicator fits into the GKD system.
█ Giga Kaleidoscope Modularized Trading System Signals
Standard Entry
1. GKD-C Confirmation gives signal
2. Baseline agrees
3. Price inside Goldie Locks Zone Minimum
4. Price inside Goldie Locks Zone Maximum
5. Confirmation 2 agrees
6. Volatility/Volume agrees
1-Candle Standard Entry
1a. GKD-C Confirmation gives signal
2a. Baseline agrees
3a. Price inside Goldie Locks Zone Minimum
4a. Price inside Goldie Locks Zone Maximum
Next Candle
1b. Price retraced
2b. Baseline agrees
3b. Confirmation 1 agrees
4b. Confirmation 2 agrees
5b. Volatility/Volume agrees
Baseline Entry
1. GKD-B Basline gives signal
2. Confirmation 1 agrees
3. Price inside Goldie Locks Zone Minimum
4. Price inside Goldie Locks Zone Maximum
5. Confirmation 2 agrees
6. Volatility/Volume agrees
7. Confirmation 1 signal was less than 'Maximum Allowable PSBC Bars Back' prior
1-Candle Baseline Entry
1a. GKD-B Baseline gives signal
2a. Confirmation 1 agrees
3a. Price inside Goldie Locks Zone Minimum
4a. Price inside Goldie Locks Zone Maximum
5a. Confirmation 1 signal was less than 'Maximum Allowable PSBC Bars Back' prior
Next Candle
1b. Price retraced
2b. Baseline agrees
3b. Confirmation 1 agrees
4b. Confirmation 2 agrees
5b. Volatility/Volume agrees
Volatility/Volume Entry
1. GKD-V Volatility/Volume gives signal
2. Confirmation 1 agrees
3. Price inside Goldie Locks Zone Minimum
4. Price inside Goldie Locks Zone Maximum
5. Confirmation 2 agrees
6. Baseline agrees
7. Confirmation 1 signal was less than 7 candles prior
1-Candle Volatility/Volume Entry
1a. GKD-V Volatility/Volume gives signal
2a. Confirmation 1 agrees
3a. Price inside Goldie Locks Zone Minimum
4a. Price inside Goldie Locks Zone Maximum
5a. Confirmation 1 signal was less than 'Maximum Allowable PSVVC Bars Back' prior
Next Candle
1b. Price retraced
2b. Volatility/Volume agrees
3b. Confirmation 1 agrees
4b. Confirmation 2 agrees
5b. Baseline agrees
Confirmation 2 Entry
1. GKD-C Confirmation 2 gives signal
2. Confirmation 1 agrees
3. Price inside Goldie Locks Zone Minimum
4. Price inside Goldie Locks Zone Maximum
5. Volatility/Volume agrees
6. Baseline agrees
7. Confirmation 1 signal was less than 7 candles prior
1-Candle Confirmation 2 Entry
1a. GKD-C Confirmation 2 gives signal
2a. Confirmation 1 agrees
3a. Price inside Goldie Locks Zone Minimum
4a. Price inside Goldie Locks Zone Maximum
5a. Confirmation 1 signal was less than 'Maximum Allowable PSC2C Bars Back' prior
Next Candle
1b. Price retraced
2b. Confirmation 2 agrees
3b. Confirmation 1 agrees
4b. Volatility/Volume agrees
5b. Baseline agrees
PullBack Entry
1a. GKD-B Baseline gives signal
2a. Confirmation 1 agrees
3a. Price is beyond 1.0x Volatility of Baseline
Next Candle
1b. Price inside Goldie Locks Zone Minimum
2b. Price inside Goldie Locks Zone Maximum
3b. Confirmation 1 agrees
4b. Confirmation 2 agrees
5b. Volatility/Volume agrees
Continuation Entry
1. Standard Entry, 1-Candle Standard Entry, Baseline Entry, 1-Candle Baseline Entry, Volatility/Volume Entry, 1-Candle Volatility/Volume Entry, Confirmation 2 Entry, 1-Candle Confirmation 2 Entry, or Pullback entry triggered previously
2. Baseline hasn't crossed since entry signal trigger
4. Confirmation 1 agrees
5. Baseline agrees
6. Confirmation 2 agrees
█ Connecting to Backtests
All GKD indicators are chained indicators meaning you export the value of the indicators to specialized backtest to creat your GKD trading system. Each indicator contains a proprietary signal generation algo that will only work with GKD backtests. You can find these backtests using the links below.
GKD-BT Giga Confirmation Stack Backtest:
GKD-BT Giga Stacks Backtest:
GKD-BT Full Giga Kaleidoscope Backtest:
GKD-BT Solo Confirmation Super Complex Backtest:
GKD-BT Solo Confirmation Complex Backtest:
GKD-BT Solo Confirmation Simple Backtest:
CryptoGraph StrategizerA complete system to backtest and automate comprehensive trading strategies
═════════════════════════════════════════════════════════════════════════
🟣 How it works
This indicator allows you to use buy & sell signals from external CryptoGraph indicators, and fully backtest these signals in the TradingView strategy tester. After configuring buy & sell signals, the trader can look into exit criteria with this indicator. The indicator offers percentage based an ATR based take profit/stop losses, as well as safety orders (DCA) in order to get a better average entry price.
Once your strategy is fully set up to your desired results, it's possible to set up alerts and connect the indicator through an automation platform ( API connection), to your broker. Alertatron & Wick Hunter auto configuration is included, meaning everything configured in the indicator settings, will automatically be carried out with Alertatron & Wick Hunter syntaxes.
🟣 Features
• Multiple methods of scaling in entries (Multiple DCA/Pyramiding methods). There will be an option to scale up or down your volume per order and distance between orders.
• Multiple methods of determining order sizes. Methods are percentage risk per trade, dollar risk per trade, position size in contracts, position size in percentage and position size in dollar.
• Multiple methods and levels of taking profits and losses. Both percentage based and ATR based take profit and stop loss.
• Option to use external indicator buy/sell signals for entry.
• Visualised liquidation prices in TradingView (both cross and isolated)
• Information panel on chart with additional information regarding your strategy results
• Bot setup directly from indicator inputs tab with Wick Hunter & Alertatron
🟣 How to use
• Choose a symbol that corresponds to your bot pair and exchange
• Pick a chart time frame
• Always use the regular candle type
• Configure your deal start condition
• Configure your profit target
• Use the Take Profit/Stop Loss feature to set a target for profit and loss
• Configure your safety orders
• Check your backtest parameters
•Make sure that the initial capital and order size make sense. Since you can use pyramiding in your strategy with safety orders, the sum of all deals should not be bigger than the initial capital
Channels Strategy [JoseMetal]============
ENGLISH
============
- Description:
This strategy is based on Bollinger Bands / Keltner Channel price "rebounds" (the idea of price bouncing from one band to another).
The strategy has several customizable options, which allows you to refine the strategy for your asset and timeframe.
You can customize settings for ALL indicators, Bollinger Bands (period and standard deviation), Keltner Channel (period and ATR multiplier) and ATR (period).
- AVAILABLE INDICATORS:
You can pick Bollinger Bands or Keltner Channels for the strategy, the chosen indicator will be plotted as well.
- CUSTOM CONDITIONS TO ENTER A POSITION:
1. Price breaks the band (low below lower band for LONG or high above higher band for SHORT).
2. Same as 1 but THEN (next candle) price closes INSIDE the bands.
3. Price breaks the band AND CLOSES OUT of the band (lower band for LONG and higher band for SHORT).
4. Same as 3 but THEN (next candle) price closes INSIDE the bands.
- STOP LOSS OPTIONS:
1. Previous wick (low of previous candle if LONG and high or previous candle if SHORT).
2. Extended band, you can customize settings for a second indicator with larger values to use it as STOP LOSS, for example, Bollinger Bands with 2 standard deviations to open positions and 3 for STOP LOSS.
3. ATR: you can pick average true ratio from a source (like closing price) with a multiplier to calculate STOP LOSS.
- TAKE PROFIT OPTIONS:
1. Opposite band (top band for LONGs, bottom band for SHORTs).
2. Moving average: Bollinger Bands simple moving average or Keltner Channel exponential moving average .
3. ATR: you can pick average true ratio from a source (like closing price) with a multiplier to calculate TAKE PROFIT.
- OTHER OPTIONS:
You can pick to trade only LONGs, only SHORTs, both or none (just indicator).
You can enable DYNAMIC TAKE PROFIT, which updates TAKE PROFIT on each candle, for example, if you pick "opposite band" as TAKE PROFIT, it'll update the TAKE PROFIT based on that, on every single new candle.
- Visual:
Bands shown will depend on the chosen indicator and it's settings.
ATR is only printed if used as STOP LOSS and/or TAKE PROFIT.
- Recommendations:
Recommended on DAILY timeframe , it works better with Keltner Channels rather than Bollinger Bands .
- Customization:
As you can see, almost everything is customizable, for colors and plotting styles check the "Style" tab.
Enjoy!
============
ESPAÑOL
============
- Descripción:
Esta estrategia se basa en los "rebotes" de precios en las Bandas de Bollinger / Canal de Keltner (la idea de que el precio rebote de una banda a otra).
La estrategia tiene varias opciones personalizables, lo que le permite refinar la estrategia para su activo y temporalidad favoritas.
Puedes personalizar la configuración de TODOS los indicadores, Bandas de Bollinger (periodo y desviación estándar), Canal de Keltner (periodo y multiplicador ATR) y ATR (periodo).
- INDICADORES DISPONIBLES:
Puedes elegir las Bandas de Bollinger o los Canales de Keltner para la estrategia, el indicador elegido será mostrado en pantalla.
- CONDICIONES PERSONALIZADAS PARA ENTRAR EN UNA POSICIÓN:
1. El precio rompe la banda (mínimo por debajo de la banda inferior para LONG o máximo por encima de la banda superior para SHORT).
2. Lo mismo que en el punto 1 pero ADEMÁS (en la siguiente vela) el precio cierra DENTRO de las bandas.
3. El precio rompe la banda Y CIERRA FUERA de la banda (banda inferior para LONG y banda superior para SHORT).
4. Igual que el 3 pero ADEMÁS (siguiente vela) el precio cierra DENTRO de las bandas.
- OPCIONES DE STOP LOSS:
1. Mecha anterior (mínimo de la vela anterior si es LONGy máximo de la vela anterior si es SHORT).
2. Banda extendida, puedes personalizar la configuración de un segundo indicador con valores más extensos para utilizarlo como STOP LOSS, por ejemplo, Bandas de Bollinger con 2 desviaciones estándar para abrir posiciones y 3 para STOP LOSS.
3. ATR: puedes elegir el average true ratio de una fuente (como el precio de cierre) con un multiplicador para calcular el STOP LOSS.
- OPCIONES DE TAKE PROFIT:
1. Banda opuesta (banda superior para LONGs, banda inferior para SHORTs).
2. Media móvil: media móvil simple de las Bandas de Bollinger o media móvil exponencial del Canal de Keltner .
3. ATR: se puede escoger el average true ratio de una fuente (como el precio de cierre) con un multiplicador para calcular el TAKE PROFIT.
- OTRAS OPCIONES:
Puedes elegir operar sólo con LONGs, sólo con SHORTs, ambos o ninguno (sólo el indicador).
Puedes activar el TAKE PROFIT DINÁMICO, que actualiza el TAKE PROFIT en cada vela, por ejemplo, si eliges "banda opuesta" como TAKE PROFIT, actualizará el TAKE PROFIT basado en eso, en cada nueva vela.
- Visual:
Las bandas mostradas dependerán del indicador elegido y de su configuración.
El ATR sólo se muestra si se utiliza como STOP LOSS y/o TAKE PROFIT.
- Recomendaciones:
Recomendada para temporalidad de DIARIO, funciona mejor con los Canales de Keltner que con las Bandas de Bollinger .
- Personalización:
Como puedes ver, casi todo es personalizable, para los colores y estilos de dibujo comprueba la pestaña "Estilo".
¡Que lo disfrutes!
MACD Strategy - Backtest [AlgoRider]█ OVERVIEW
Hello dear Tradingviewers !
We are excited to share with you this new indicator which simulates a trading strategy based solely on the well-known technical indicator MACD . We designed it for the sole educational and analytical purposes of showing novice traders and new investors that basing a trading strategy only on one such technical indicator is not necessarily a good thing to do. We do not recommend to apply this strategy for real.
Thanks to this indicator redesigned in our own way by incorporating our simple and easy-to-use Backtest functionality, you will be able to see and report on the performance and results that such a strategy has produced in the past.
The configuration window has also been designed to be easily readable and simple to use. Our goal is to make parameter customization as easy as possible.
█ HOW THE STRATEGY WORKS
• The script will simply trigger Long entries when bullish MACD crossings appear (the Macd line crosses the Signal line upwards) and Short entries when bearish MACD crossings appear (the Macd line crosses below the signal line).
• A Short signal ends a Long trade, a Long signal ends a Short trade.
• The script also allows setting up custom TP and SL.
• An option allows you to trigger early crossings, which will influence entries and exits.
• There is no repaint, once an entry/exit symbol or drawing is displayed it doesn't change anymore. The Short and Long signals appear at the open of the candles, just after the signal was confirmed at the close of the previous candle. The custom TP and custom SL signals can appear when a candle is not yet finished, but once displayed they don't change.
█ HOW TO PROCEED
1 — Once the script is applied to your chart, it already works with its default settings. You can already see the performance of the strategy in the data table directly on the chart (in the top right corner by default).
2 — You can customize the strategy and influence the results/performance by modifying its parameters. 3 types of parameters are present and can be modified.
3 — You can use this indicator in all types of markets.
4 — You can apply the script in every timeframe.
█ PARAMETERS
• Settings For Backtesting
- Strategy : Choose from a drop-down list if the strategy should execute only Long trades or only Short trades or both. Default Both.
- Invest. : Choose the amount you want to invest in the simulation. Default 10000.
- Position : Choose the amount of the position (Size order) that will be used during the simulation. This will be the $ amount staked/involved for each trade entry.
Ex: If you put 20000 in position and 10000 in Invest. We consider that you use at least a leverage x2. Default 10000.
- Slipp. TP : Choose the amount in percentage of average slippage for Take Profits. This parameter makes it possible to predict a potential gap between the theoretical exit price for each TP (On the graph) and the real exit price on an exchange when implementing the strategy for real (slippage may be due to a time lag of a few seconds from execution time of the order on the exchange and/or due to the execution of a market order).
Ex: If a TP exit order of a Long trade, with entry $19000 (on BTCUSDT ), is carried out in theory on the chart at $20000, in practice on the exchange the script have indeed sent an exit order at 20000 , but if the true exit price is 20050, the TP slippage is then +0.25%. Default 0.
- Slipp. SL : Choose the amount in percentage of average slippage for Stop Losses. This parameter makes it possible to predict a potential gap between the theoretical exit price for each SL (On the graph) and the real exit price on an exchange when implementing the strategy for real.
Ex: If an SL exit order of a Long trade, entry $19000 (on BTCUSDT ), is carried out in theory on the chart at $18000, in practice on the exchange the script have indeed sent an exit order at 18000 $, but if the true exit price is 17950, the slippage SL is then +0.278%. Default 0.
- Fees % : Choose the percentage amount of fees applied to each trade to simulate the application of the strategy on the exchange of your choice. Applies to the entry and exit of each trade. Ex: For Binance Futures: 0.04; For Bybit futures: 0.06; For Ftx Futures: 0.075. Default 0.
- Cumulate Trades : If you check this, the Backtest will use 100% of the balance as Order Size (Position) for All or in the next X consecutive trades. Default not checked.
⚠️ Be Careful please, this option is available to show the full extent and possibilities of the algorithm when pushed to its limits thanks to the accumulation of profits (cumulative earnings ), but it is a strategy that involves great risk. If a bad trade suffers a -50% loss, 50% of the account balance is lost, if the position is liquidated, the entire account balance is lost.
- All : If you check this All trades will be accumulated. Default not checked.
- Consecutive Trades : Choose the number of trades to accumulate. After X consecutive trades, the algorithm reassigns the initial order size to the current one and starts again for X consecutive trades. Minimum Value 2, Default 2.
• Settings To Optimize Performances and Risk Management
- Fast_MA : Choose the length of the Fast Moving Average. Default 12.
- Slow_MA : Choose the length of the Slow Moving Average. Default 26.
- Enable Early Crossings : If you check this, when the algorithm will detect an early crossing wethere bullish or bearish , it will trigger the Long or Short entries. Default not checked.
- Oscillator MA Type : Choose if the Macd line should be an Exponential Moving Average or a Simple Moving Average . Default Expo.
- Signal Line MA Type : Choose if the Signal line should be an Exponential Moving Average or a Simple Moving Average . Default Expo.
- Use TP / Use SL : If you check these, the algorithm will trigger personalized trade exit signals when the price evolution has reached the amounts indicated since the trade entry. Default not Checked.
- % TP - SL : Indicate here the personalized amount in percentage that you want for your Take Profit and Stop Loss of each trade. Default 15-5.
• Settings For Appearances
- Small-size Data Table : If you check this, the data table will become smaller to free up more space on the chart to make it visually more pleasing. Default not checked.
Hide Table /
- Hide Labels / : You can check these to get a cleaner chart and focus only on what interests you in the indicator. Default not checked.
Hide Risk-Reward Areas
█ LIMITATIONS
• ⚠️ We repeat it once again, this strategy is not intended to be reproduced in real conditions, we have designed it for educational and analytical purposes only.
• Even if you see good performances when you backtest the strategy, you must take into account that these results are performed in the past and that in no case does this guarantee that these same performances will be repeated again in the future.
• When you run for real a trading strategy you must be aware of the fact that you are solely responsible for the results that you will be able to obtain and you must be aware of the possibility at all times of partial or even total losses of your invested capital.
• Keep in mind that generating profits in trading is difficult. A strategy can perform very well at one time in the past during a period that is favorable to it, then from one day to the next it can give really bad results for several months or years.
• When backtesting a trading strategy, there are many factors to consider, not just trade entries to which you add a Take Profit and sometimes a Stop Loss. You must at least take into account the size of the position in relation to the capital you want to invest, the trading fees, the slippages (which can be really important depending on the exchange on which you are trading and depending on the asset you are trading), trading frequency, risk management, momentum, volumes and even more.
The information published here on TradingView is not prohibited, doesn't constitute investment advice, and isn't created solely for qualified investors.
═════════════════════════════════════════════════════════════════════════
Important to note : our indicators with the same backtesting system are published in separate publications, because putting them together in a single script would considerably slow down the execution of the script. In addition each indicator, even when it is based on a simple technical indicator, has several options, parameters and entry/exit conditions specific to the underlying technical indicator. Finally, we want to keep the simplicity of use, configuration and understanding of our indicator by not mixing strategies that have nothing to do with each other.
Webhook Starter Kit [HullBuster]
Introduction
This is an open source strategy which provides a framework for webhook enabled projects. It is designed to work out-of-the-box on any instrument triggering on an intraday bar interval. This is a full featured script with an emphasis on actual trading at a brokerage through the TradingView alert mechanism and without requiring browser plugins.
The source code is written in a self documenting style with clearly defined sections. The sections “communicate” with each other through state variables making it easy for the strategy to evolve and improve. This is an excellent place for Pine Language beginners to start their strategy building journey. The script exhibits many Pine Language features which will certainly ad power to your script building abilities.
This script employs a basic trend follow strategy utilizing a forward pyramiding technique. Trend detection is implemented through the use of two higher time frame series. The market entry setup is a Simple Moving Average crossover. Positions exit by passing through conditional take profit logic. The script creates ten indicators including a Zscore oscillator to measure support and resistance levels. The indicator parameters are exposed through 47 strategy inputs segregated into seven sections. All of the inputs are equipped with detailed tool tips to help you get started.
To improve the transition from simulation to execution, strategy.entry and strategy.exit calls show enhanced message text with embedded keywords that are combined with the TradingView placeholders at alert time. Thereby, enabling a single JSON message to generate multiple execution events. This is genius stuff from the Pine Language development team. Really excellent work!
This document provides a sample alert message that can be applied to this script with relatively little modification. Without altering the code, the strategy inputs can alter the behavior to generate thousands of orders or simply a few dozen. It can be applied to crypto, stocks or forex instruments. A good way to look at this script is as a webhook lab that can aid in the development of your own endpoint processor, impress your co-workers and have hours of fun.
By no means is a webhook required or even necessary to benefit from this script. The setups, exits, trend detection, pyramids and DCA algorithms can be easily replaced with more sophisticated versions. The modular design of the script logic allows you to incrementally learn and advance this script into a functional trading system that you can be proud of.
Design
This is a trend following strategy that enters long above the trend line and short below. There are five trend lines that are visible by default but can be turned off in Section 7. Identified, in frequency order, as follows:
1. - EMA in the chart time frame. Intended to track price pressure. Configured in Section 3.
2. - ALMA in the higher time frame specified in Section 2 Signal Line Period.
3. - Linear Regression in the higher time frame specified in Section 2 Signal Line Period.
4. - Linear Regression in the higher time frame specified in Section 2 Signal Line Period.
5. - DEMA in the higher time frame specified in Section 2 Trend Line Period.
The Blue, Green and Orange lines are signal lines are on the same time frame. The time frame selected should be at least five times greater than the chart time frame. The Purple line represents the trend line for which prices above the line suggest a rising market and prices below a falling market. The time frame selected for the trend should be at least five times greater than the signal lines.
Three oscillators are created as follows:
1. Stochastic - In the chart time frame. Used to enter forward pyramids.
2. Stochastic - In the Trend period. Used to detect exit conditions.
3. Zscore - In the Signal period. Used to detect exit conditions.
The Stochastics are configured identically other than the time frame. The period is set in Section 2.
Two Simple Moving Averages provide the trade entry conditions in the form of a crossover. Crossing up is a long entry and down is a short. This is in fact the same setup you get when you select a basic strategy from the Pine editor. The crossovers are configured in Section 3. You can see where the crosses are occurring by enabling Show Entry Regions in Section 7.
The script has the capacity for pyramids and DCA. Forward pyramids are enabled by setting the Pyramid properties tab with a non zero value. In this case add on trades will enter the market on dips above the position open price. This process will continue until the trade exits. Downward pyramids are available in Crypto and Range mode only. In this case add on trades are placed below the entry price in the drawdown space until the stop is hit. To enable downward pyramids set the Pyramid Minimum Span In Section 1 to a non zero value.
This implementation of Dollar Cost Averaging (DCA) triggers off consecutive losses. Each loss in a run increments a sequence number. The position size is increased as a multiple of this sequence. When the position eventually closes at a profit the sequence is reset. DCA is enabled by setting the Maximum DCA Increments In Section 1 to a non zero value.
It should be noted that the pyramid and DCA features are implemented using a rudimentary design and as such do not perform with the precision of my invite only scripts. They are intended as a feature to stress test your webhook endpoint. As is, you will need to buttress the logic for it to be part of an automated trading system. It is for this reason that I did not apply a Martingale algorithm to this pyramid implementation. But, hey, it’s an open source script so there is plenty of room for learning and your own experimentation.
How does it work
The overall behavior of the script is governed by the Trading Mode selection in Section 1. It is the very first input so you should think about what behavior you intend for this strategy at the onset of the configuration. As previously discussed, this script is designed to be a trend follower. The trend being defined as where the purple line is predominately heading. In BiDir mode, SMA crossovers above the purple line will open long positions and crosses below the line will open short. If pyramiding is enabled add on trades will accumulate on dips above the entry price. The value applied to the Minimum Profit input in Section 1 establishes the threshold for a profitable exit. This is not a hard number exit. The conditional exit logic must be satisfied in order to permit the trade to close. This is where the effort put into the indicator calibration is realized. There are four ways the trade can exit at a profit:
1. Natural exit. When the blue line crosses the green line the trade will close. For a long position the blue line must cross under the green line (downward). For a short the blue must cross over the green (upward).
2. Alma / Linear Regression event. The distance the blue line is from the green and the relative speed the cross is experiencing determines this event. The activation thresholds are set in Section 6 and relies on the period and length set in Section 2. A long position will exit on an upward thrust which exceeds the activation threshold. A short will exit on a downward thrust.
3. Exponential event. The distance the yellow line is from the blue and the relative speed the cross is experiencing determines this event. The activation thresholds are set in Section 3 and relies on the period and length set in the same section.
4. Stochastic event. The purple line stochastic is used to measure overbought and over sold levels with regard to position exits. Signal line positions combined with a reading over 80 signals a long profit exit. Similarly, readings below 20 signal a short profit exit.
Another, optional, way to exit a position is by Bale Out. You can enable this feature in Section 1. This is a handy way to reduce the risk when carrying a large pyramid stack. Instead of waiting for the entire position to recover we exit early (bale out) as soon as the profit value has doubled.
There are lots of ways to implement a bale out but the method I used here provides a succinct example. Feel free to improve on it if you like. To see where the Bale Outs occur, enable Show Bale Outs in Section 7. Red labels are rendered below each exit point on the chart.
There are seven selectable Trading Modes available from the drop down in Section 1:
1. Long - Uses the strategy.risk.allow_entry_in to execute long only trades. You will still see shorts on the chart.
2. Short - Uses the strategy.risk.allow_entry_in to execute short only trades. You will still see long trades on the chart.
3. BiDir - This mode is for margin trading with a stop. If a long position was initiated above the trend line and the price has now fallen below the trend, the position will be reversed after the stop is hit. Forward pyramiding is available in this mode if you set the Pyramiding value in the Properties tab. DCA can also be activated.
4. Flip Flop - This is a bidirectional trading mode that automatically reverses on a trend line crossover. This is distinctively different from BiDir since you will get a reversal even without a stop which is advantageous in non-margin trading.
5. Crypto - This mode is for crypto trading where you are buying the coins outright. In this case you likely want to accumulate coins on a crash. Especially, when all the news outlets are talking about the end of Bitcoin and you see nice deep valleys on the chart. Certainly, under these conditions, the market will be well below the purple line. No margin so you can’t go short. Downward pyramids are enabled for Crypto mode when two conditions are met. First the Pyramiding value in the Properties tab must be non zero. Second the Pyramid Minimum Span in Section 1 must be non zero.
6. Range - This is a counter trend trading mode. Longs are entered below the purple trend line and shorts above. Useful when you want to test your webhook in a market where the trend line is bisecting the signal line series. Remember that this strategy is a trend follower. It’s going to get chopped out in a range bound market. By turning on the Range mode you will at least see profitable trades while stuck in the range. However, when the market eventually picks a direction, this mode will sustain losses. This range trading mode is a rudimentary implementation that will need a lot of improvement if you want to create a reliable switch hitter (trend/range combo).
7. No Trade. Useful when setting up the trend lines and the entry and exit is not important.
Once in the trade, long or short, the script tests the exit condition on every bar. If not a profitable exit then it checks if a pyramid is required. As mentioned earlier, the entry setups are quite primitive. Although they can easily be replaced by more sophisticated algorithms, what I really wanted to show is the diminished role of the position entry in the overall life of the trade. Professional traders spend much more time on the management of the trade beyond the market entry. While your trade entry is important, you can get in almost anywhere and still land a profitable exit.
If DCA is enabled, the size of the position will increase in response to consecutive losses. The number of times the position can increase is limited by the number set in Maximum DCA Increments of Section 1. Once the position breaks the losing streak the trade size will return the default quantity set in the Properties tab. It should be noted that the Initial Capital amount set in the Properties tab does not affect the simulation in the same way as a real account. In reality, running out of money will certainly halt trading. In fact, your account would be frozen long before the last penny was committed to a trade. On the other hand, TradingView will keep running the simulation until the current bar even if your funds have been technically depleted.
Entry and exit use the strategy.entry and strategy.exit calls respectfully. The alert_message parameter has special keywords that the endpoint expects to properly calculate position size and message sequence. The alert message will embed these keywords in the JSON object through the {{strategy.order.alert_message}} placeholder. You should use whatever keywords are expected from the endpoint you intend to webhook in to.
Webhook Integration
The TradingView alerts dialog provides a way to connect your script to an external system which could actually execute your trade. This is a fantastic feature that enables you to separate the data feed and technical analysis from the execution and reporting systems. Using this feature it is possible to create a fully automated trading system entirely on the cloud. Of course, there is some work to get it all going in a reliable fashion. Being a strategy type script place holders such as {{strategy.position_size}} can be embedded in the alert message text. There are more than 10 variables which can write internal script values into the message for delivery to the specified endpoint.
Entry and exit use the strategy.entry and strategy.exit calls respectfully. The alert_message parameter has special keywords that my endpoint expects to properly calculate position size and message sequence. The alert message will embed these keywords in the JSON object through the {{strategy.order.alert_message}} placeholder. You should use whatever keywords are expected from the endpoint you intend to webhook in to.
Here is an excerpt of the fields I use in my webhook signal:
"broker_id": "kraken",
"account_id": "XXX XXXX XXXX XXXX",
"symbol_id": "XMRUSD",
"action": "{{strategy.order.action}}",
"strategy": "{{strategy.order.id}}",
"lots": "{{strategy.order.contracts}}",
"price": "{{strategy.order.price}}",
"comment": "{{strategy.order.alert_message}}",
"timestamp": "{{time}}"
Though TradingView does a great job in dispatching your alert this feature does come with a few idiosyncrasies. Namely, a single transaction call in your script may cause multiple transmissions to the endpoint. If you are using placeholders each message describes part of the transaction sequence. A good example is closing a pyramid stack. Although the script makes a single strategy.close() call, the endpoint actually receives a close message for each pyramid trade. The broker, on the other hand, only requires a single close. The incongruity of this situation is exacerbated by the possibility of messages being received out of sequence. Depending on the type of order designated in the message, a close or a reversal. This could have a disastrous effect on your live account. This broker simulator has no idea what is actually going on at your real account. Its just doing the job of running the simulation and sending out the computed results. If your TradingView simulation falls out of alignment with the actual trading account lots of really bad things could happen. Like your script thinks your are currently long but the account is actually short. Reversals from this point forward will always be wrong with no one the wiser. Human intervention will be required to restore congruence. But how does anyone find out this is occurring? In closed systems engineering this is known as entropy. In practice your webhook logic should be robust enough to detect these conditions. Be generous with the placeholder usage and give the webhook code plenty of information to compare states. Both issuer and receiver. Don’t blindly commit incoming signals without verifying system integrity.
Setup
The following steps provide a very brief set of instructions that will get you started on your first configuration. After you’ve gone through the process a couple of times, you won’t need these anymore. It’s really a simple script after all. I have several example configurations that I used to create the performance charts shown. I can share them with you if you like. Of course, if you’ve modified the code then these steps are probably obsolete.
There are 47 inputs divided into seven sections. For the most part, the configuration process is designed to flow from top to bottom. Handy, tool tips are available on every field to help get you through the initial setup.
Step 1. Input the Base Currency and Order Size in the Properties tab. Set the Pyramiding value to zero.
Step 2. Select the Trading Mode you intend to test with from the drop down in Section 1. I usually select No Trade until I’ve setup all of the trend lines, profit and stop levels.
Step 3. Put in your Minimum Profit and Stop Loss in the first section. This is in pips or currency basis points (chart right side scale). Remember that the profit is taken as a conditional exit not a fixed limit. The actual profit taken will almost always be greater than the amount specified. The stop loss, on the other hand, is indeed a hard number which is executed by the TradingView broker simulator when the threshold is breached.
Step 4. Apply the appropriate value to the Tick Scalar field in Section 1. This value is used to remove the pipette from the price. You can enable the Summary Report in Section 7 to see the TradingView minimum tick size of the current chart.
Step 5. Apply the appropriate Price Normalizer value in Section 1. This value is used to normalize the instrument price for differential calculations. Basically, we want to increase the magnitude to significant digits to make the numbers more meaningful in comparisons. Though I have used many normalization techniques, I have always found this method to provide a simple and lightweight solution for less demanding applications. Most of the time the default value will be sufficient. The Tick Scalar and Price Normalizer value work together within a single calculation so changing either will affect all delta result values.
Step 6. Turn on the trend line plots in Section 7. Then configure Section 2. Try to get the plots to show you what’s really happening not what you want to happen. The most important is the purple trend line. Select an interval and length that seem to identify where prices tend to go during non-consolidation periods. Remember that a natural exit is when the blue crosses the green line.
Step 7. Enable Show Event Regions in Section 7. Then adjust Section 6. Blue background fills are spikes and red fills are plunging prices. These measurements should be hard to come by so you should see relatively few fills on the chart if you’ve set this up as intended. Section 6 includes the Zscore oscillator the state of which combines with the signal lines to detect statistically significant price movement. The Zscore is a zero based calculation with positive and negative magnitude readings. You want to input a reasonably large number slightly below the maximum amplitude seen on the chart. Both rise and fall inputs are entered as a positive real number. You can easily use my code to create a separate indicator if you want to see it in action. The default value is sufficient for most configurations.
Step 8. Turn off Show Event Regions and enable Show Entry Regions in Section 7. Then adjust Section 3. This section contains two parts. The entry setup crossovers and EMA events. Adjust the crossovers first. That is the Fast Cross Length and Slow Cross Length. The frequency of your trades will be shown as blue and red fills. There should be a lot. Then turn off Show Event Regions and enable Display EMA Peaks. Adjust all the fields that have the word EMA. This is actually the yellow line on the chart. The blue and red fills should show much less than the crossovers but more than event fills shown in Step 7.
Step 9. Change the Trading Mode to BiDir if you selected No Trades previously. Look on the chart and see where the trades are occurring. Make adjustments to the Minimum Profit and Stop Offset in Section 1 if necessary. Wider profits and stops reduce the trade frequency.
Step 10. Go to Section 4 and 5 and make fine tuning adjustments to the long and short side.
Example Settings
To reproduce the performance shown on the chart please use the following configuration: (Bitcoin on the Kraken exchange)
1. Select XBTUSD Kraken as the chart symbol.
2. On the properties tab set the Order Size to: 0.01 Bitcoin
3. On the properties tab set the Pyramiding to: 12
4. In Section 1: Select “Crypto” for the Trading Model
5. In Section 1: Input 2000 for the Minimum Profit
6. In Section 1: Input 0 for the Stop Offset (No Stop)
7. In Section 1: Input 10 for the Tick Scalar
8. In Section 1: Input 1000 for the Price Normalizer
9. In Section 1: Input 2000 for the Pyramid Minimum Span
10. In Section 1: Check mark the Position Bale Out
11. In Section 2: Input 60 for the Signal Line Period
12. In Section 2: Input 1440 for the Trend Line Period
13. In Section 2: Input 5 for the Fast Alma Length
14. In Section 2: Input 22 for the Fast LinReg Length
15. In Section 2: Input 100 for the Slow LinReg Length
16. In Section 2: Input 90 for the Trend Line Length
17. In Section 2: Input 14 Stochastic Length
18. In Section 3: Input 9 Fast Cross Length
19. In Section 3: Input 24 Slow Cross Length
20. In Section 3: Input 8 Fast EMA Length
21. In Section 3: Input 10 Fast EMA Rise NetChg
22. In Section 3: Input 1 Fast EMA Rise ROC
23. In Section 3: Input 10 Fast EMA Fall NetChg
24. In Section 3: Input 1 Fast EMA Fall ROC
25. In Section 4: Check mark the Long Natural Exit
26. In Section 4: Check mark the Long Signal Exit
27. In Section 4: Check mark the Long Price Event Exit
28. In Section 4: Check mark the Long Stochastic Exit
29. In Section 5: Check mark the Short Natural Exit
30. In Section 5: Check mark the Short Signal Exit
31. In Section 5: Check mark the Short Price Event Exit
32. In Section 5: Check mark the Short Stochastic Exit
33. In Section 6: Input 120 Rise Event NetChg
34. In Section 6: Input 1 Rise Event ROC
35. In Section 6: Input 5 Min Above Zero ZScore
36. In Section 6: Input 120 Fall Event NetChg
37. In Section 6: Input 1 Fall Event ROC
38. In Section 6: Input 5 Min Below Zero ZScore
In this configuration we are trading in long only mode and have enabled downward pyramiding. The purple trend line is based on the day (1440) period. The length is set at 90 days so it’s going to take a while for the trend line to alter course should this symbol decide to node dive for a prolonged amount of time. Your trades will still go long under those circumstances. Since downward accumulation is enabled, your position size will grow on the way down.
The performance example is Bitcoin so we assume the trader is buying coins outright. That being the case we don’t need a stop since we will never receive a margin call. New buy signals will be generated when the price exceeds the magnitude and speed defined by the Event Net Change and Rate of Change.
Feel free to PM me with any questions related to this script. Thank you and happy trading!
CFTC RULE 4.41
These results are based on simulated or hypothetical performance results that have certain inherent limitations. Unlike the results shown in an actual performance record, these results do not represent actual trading. Also, because these trades have not actually been executed, these results may have under-or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated or hypothetical trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to these being shown.
Smartgrow Trading - Bot Series 01 - Bearish PowerWelcome to our first Tradingview trading bot.
We develop signals which have been specially developed for crypto trading bots. We publish new indicators at regular intervals.
The main idea behind the bot is to use custom created indicators in a short and longer term timeframe to signal potential trendreversals in downtrends or ranging markets. The bot is not waiting for a trend confirmation signal before entering a trade, on the contrary, the bot waits for statistical extreme values to open a trade. When potential signals are detected we are trailing price to find the best spot to enter a trade. With this approach we buy in strong oversold areas as these have great potential to move in the other direction again. The sell signals are also generated by this custom indicator only selling off, if a stronger recovery in the market has occured. The potential profit margin is therefore between the best possible entry into a heavily oversold market and a recovery of the market.
So this tradingbot isnt designed to work with take profit, stop loss or trailing stop loss. This would result in a long term loss and is therefore not recommented. Also the bot is not tested in any other market like futures or stocks. So we recommend to use it in crypto spot market only.
Depending on market situations, potential losses can occur when a market is strongly bearish and does not want to recover over a long range, or when the bot has entered a trade to early. We have built in a safety mechanism for detecting further downtrends to avoid major losses. This mechanism is part of the needed risk management Therefore we are suggesting to use a proper risk management so only use 2-5% of your funds per trade. We use this bot with 2,5% funds per trade for our personal use. The study needs to be set up in the 5 min chart to work and you need to set up one buy alarm and one sell alarm per pair. The Signals are very picky therefore it is suitable to apply it on all possible pairs on your exchange excluding stable and shitcoins. You could test it in other financial markets but the bot was developed especially for crypto markets. If you have questions regarding pairs or want to see real life performance, feel free to contact us.
This indicator using different timeframes so it is sending a repainting warning. Cause it calculates values in a different timeframe. But thats normal and it wont recalculate results.
We sell this indicator so it is invite only. But of cause you can test it before buying.
If there are questions, write them into the comments or contact us directly over the direct message. Happy Trading!
Skript nur auf Einladung
Zignaly TutorialThis strategy serves as a beginner's guide to connect TradingView signals to Zignaly Crypto Trading Platform.
It was originally tested at BTCUSDT pair and 1D timeframe.
Before using this documentation it's recommended that you:
Use default TradingView strategy script or another script and setup its associated alert manually. Just make the alert pop-up in the screen.
Create a 'Copy-Trader provider' (or Signal Provider) in Zignaly and send signals to it either thanks to your browser or with some basic programming.
SETTINGS
__ SETTINGS - Capital
(CAPITAL) Capital quote invested per order in USDT units {100.0}. This setting is only used when '(ZIG) Provider type' is set to 'Signal Provider'.
(CAPITAL) Capital percentage invested per order (%) {25.0}. This setting is only used when '(ZIG) Provider type' is set to 'Copy Trader Provider'.
__ SETTINGS - Misc
(ZIG) Enable Alert message {True}: Whether to enable alert message or not.
(DEBUG) Enable debug on order comments {True}: Whether to show alerts on order comments or not.
Number of decimal digits for Prices {2}.
(DECIMAL) Maximum number of decimal for contracts {3}.
__ SETTINGS - Zignaly
(ZIG) Integration type {TradingView only}: Hybrid : Both TradingView and Zignaly handle take profit, trailing stops and stop losses. Useful if you are scared about TradingView not firing an alert. It might arise problems if TradingView and Zignaly get out of sync. TradingView only : TradingView sends entry and exit orders to Zignaly so that Zignaly only buys or sells. Zignaly won't handle stop loss or other settings on its own.
(ZIG) Zignaly Alert Type {WebHook}: 'Email' or 'WebHook'.
(ZIG) Provider type {Copy Trader Provider}: 'Copy Trader Provider' or 'Signal Provider'. 'Copy Trader Provider' sends a percentage to manage. 'Signal Provider' sends a quote to manage.
(ZIG) Exchange: 'Binance' or 'Kucoin'.
(ZIG) Exchange Type {Spot}: 'Spot' or 'Futures'.
(ZIG) Leverage {1}. Set it to '1' when '(ZIG) Exchange Type' is set to 'Spot'.
__ SETTINGS - Strategy
(STRAT) Strategy Type: 'Long and Short', 'Long Only' or 'Short Only'.
(STOPTAKE) Take Profit? {false}: Whether to enable Take Profit.
(STOPTAKE) Stop Loss? {True}: Whether to enable Stop Loss.
(TRAILING) Enable Trailing Take Profit (%) {True}: Whether to enable Trailing Take Profit.
(STOPTAKE) Take Profit % {3.0}: Take profit percentage. This setting is only used when '(STOPTAKE) Take Profit?' setting is set to true.
(STOPTAKE) Stop Loss % {2.0}: Stop loss percentage. This setting is only used when '(STOPTAKE) Stop Loss?' setting is set to true.
(TRAILING) Trailing Take Profit Trigger (%) {2.5}: Trailing Stop Trigger Percentage. This setting is only used when '(TRAILING) Enable Trailing Take Profit (%)' setting is set to true.
(TRAILING) Trailing Take Profit as a percentage of Trailing Take Profit Trigger (%) {25.0}: Trailing Stop Distance Percentage. This setting is only used when '(TRAILING) Enable Trailing Take Profit (%)' setting is set to true.
(RECENT) Number of minutes to wait to open a new order after the previous one has been opened {6}.
DEFAULT SETTINGS
By default this strategy has been setup with these beginner settings:
'(ZIG) Integration type' : TradingView only
'(ZIG) Provider type' : 'Copy Trader Provider'
'(ZIG) Exchange' : 'Binance'
'(ZIG) Exchange Type' : 'Spot'
'(STRAT) Strategy Type' : 'Long Only'
'(ZIG) Leverage' : '1' (Or no leverage)
but you can change those settings if needed.
FIRST STEP
For both future of spot markets you should make sure to change '(ZIG) Zignaly Alert Type' to match either WebHook or Email. If you have a non paid account in TradingView as in October 2020 you would have to use Email which it's free to use.
RECOMMENDED SETTINGS
__ RECOMMENDED SETTINGS - Spot markets
'(ZIG) Exchange Type' setting should be set to 'Spot'
'(STRAT) Strategy Type' setting should be set to 'Long Only'
'(ZIG) Leverage' setting should be set to '1'
__ RECOMMENDED SETTINGS - Future markets
'(ZIG) Exchange Type' setting should be set to 'Futures'
'(STRAT) Strategy Type' setting should be set to 'Long and Short'
'(ZIG) Leverage' setting might be changed if desired.
__ RECOMMENDED SETTINGS - Signal Providers
'(ZIG) Provider type' setting should be set to 'Signal Provider'
'(CAPITAL) Capital quote invested per order in USDT units' setting might be changed if desired.
__ RECOMMENDED SETTINGS - Copy Trader Providers
'(ZIG) Provider type' setting should be set to 'Copy Trader Provider'
'(CAPITAL) Capital percentage invested per order (%)' setting might be changed if desired.
Strategy Properties setting: 'Initial Capital' might be changed if desired.
INTEGRATION TYPE EXPLANATION
'Hybrid': Both TradingView and Zignaly handle take profit, trailing stops and stop losses. Useful if you are scared about TradingView not firing an alert. It might arise problems if TradingView and Zignaly get out of sync.
'TradingView only': TradingView sends entry and exit orders to Zignaly so that Zignaly only buys or sells. Zignaly won't handle stop loss or other settings on its own.
HOW TO USE THIS STRATEGY
Beginner: Copy and paste the strategy and change it to your needs. Turn off '(DEBUG) Enable debug on order comments' setting.
Medium: Reuse functions and inputs from this strategy into your own as if it was a library.
Advanced: Check Strategy Tester. List of trades. Copy and paste the different suggested 'alert_message' variable contents to your script.
Expert: I needed a way to pass data from TradingView script to the alert. Now I know it's the 'alert_message' variable. I can do this own my own.
ALERTS SETUP
This is the important piece of information that allows you to connect TradingView to Zignaly in a semi-automatic manner.
__ ALERTS SETUP - WebHook
Webhook URL: https : // zignaly . com / api / signals.php?key=MYSECRETKEY
Message: { {{strategy.order.alert_message}} , "key" : "MYSECRETKEY" }
__ ALERTS SETUP - Email
Setup a new Hotmail account
Add it as an 'SMS email' in TradingView Profile settings page.
Confirm your own the email address
Create a rule in your Hotmail account that 'Redirects' (not forwards) emails to 'signals @ zignaly . email' when (1): 'Subject' includes 'Alert', (2): 'Email body' contains string 'MYZIGNALYREDIRECTTRIGGER' and (3): 'From' contains 'noreply @ tradingview . com'.
In 'More Actions' check: Send Email-to-SMS
Message: ||{{strategy.order.alert_message}}||key=MYSECRETKEY||
MYZIGNALYREDIRECTTRIGGER
'(DEBUG) Enable debug on order comments' is turned on by default so that you can see in the Strategy Tester. List of Trades. The different orders alert_message that would have been sent to your alert. You might want to turn it off it some many letters in the screen is problem.
STRATEGY ADVICE
If you turn on 'Take Profit' then turn off 'Trailing Take Profit'.
ZIGNALY SIDE ADVICE
If you are a 'Signal Provider' make sure that 'Allow reusing the same signalId if there isn't any open position using it?' setting in the profile tab is set to true.
You can find your 'MYSECRETKEY' in your 'Copy Trader/Signal' provider Edit tab at 'Signal URL'.
ADDITIONAL ZIGNALY DOCUMENTATION
docs . zignaly . com / signals / how-to -- How to send signals to Zignaly
3 Ways to send signals to Zignaly
SIGNALS
FINAL REMARKS
This strategy tries to match the Pine Script Coding Conventions as best as possible.
All Instrument Swing Trader with Pyramids, DCA and Leverage
Introduction
This is my most advanced Pine 4 script so far. It combines my range trader algorithms with my trend following pyramids all on a single interval. This script includes my beta tested DCA feature along with simulated leverage and buying power calculations. It has a twin study with several alerts. The features in this script allow you to experiment with different risk strategies and evaluate the approximate impact on your account capital. The script is flexible enough to run on instruments from different markets and at various bar intervals. This strategy can be run in three different modes: long, short and bidirectional. The bidirectional mode has two split modes (Ping Pong and BiDir). It also generates a summary report label with information not available in the TradingView Performance report such as Rate Of Return Standard Deviation and other Sharpe Ratio input values. Notable features include the following:
- Swing Trading Paradigm
- Uni or Bidirectional trading modes
- Calculation presets for Crypto, Stocks and Forex
- Conditional Minimum Profit
- Hard stop loss field
- Two types of DCA (Positive and Negative)
- Discretionary Pyramid levels with threshold adjustment and limiter
- Consecutive loss counter with preset and label
- Reentry loss limiter and trade entry caution fields
- Simulated Leverage and margin call warning label (approximation only)
- Buying power report labels (approximation only)
- Rate Of Return report with input values for Sharpe Ratio, Sortino and others
- Summary report label with real-time status indicators
- Trend follow bias modes (Its still range trading)
- Six anti-chop settings
- Single interval strategy to reduce repaint occurrence
This is a swing trading strategy so the behavior of this script is to buy on weakness and sell on strength. As such trade orders are placed in a counter direction to price pressure. What you will see on the chart is a short position on peaks and a long position on valleys. Just to be clear, the range as well as trends are merely illusions as the chart only receives prices. However, this script attempts to calculate pivot points from the price stream. Rising pivots are shorts and falling pivots are longs. I refer to pivots as a vertex in this script which adds structural components to the chart formation (point, sides and a base). When trading in “Ping Pong” mode long and short positions are intermingled continuously as long as there exists a detectable vertex. Unfortunately, this can work against your backtest profitability on long duration trends where prices continue in a single direction without pullback. I have designed various features in the script to compensate for this event. A well configured script should perform in a range bound market and minimize losses in a trend. For a range trader the trend is most certainly not your friend. I also have a trend following version of this script for those not interested in trading the range.
This script makes use of the TradingView pyramid feature accessible from the properties tab. Additional trades can be placed in the draw-down space increasing the position size and thereby increasing the profit or loss when the position finally closes. Each individual add on trade increases its order size as a multiple of its pyramid level. This makes it easy to comply with NFA FIFO Rule 2-43(b) if the trades are executed here in America. The inputs dialog box contains various settings to adjust where the add on trades show up, under what circumstances and how frequent if at all. Please be advised that pyramiding is an advanced feature and can wipe out your account capital if your not careful. You can use the “Performance Bond Leverage” feature to stress test your account capital with varying pyramid levels during the backtest. Use modest settings with realistic capital until you discover what you think you can handle. See the“Performance Bond Leverage” description for more information.
In addition to pyramiding this script employs DCA which enables users to experiment with loss recovery techniques. This is another advanced feature which can increase the order size on new trades in response to stopped out or winning streak trades. The script keeps track of debt incurred from losing trades. When the debt is recovered the order size returns to the base amount specified in the TV properties tab. The inputs for this feature include a limiter to prevent your account from depleting capital during runaway markets. The main difference between DCA and pyramids is that this implementation of DCA applies to new trades while pyramids affect open positions. DCA is a popular feature in crypto trading but can leave you with large “bags” if your not careful. In other markets, especially margin trading, you’ll need a well funded account and much experience.
To be sure pyramiding and dollar cost averaging is as close to gambling as you can get in respectable trading exchanges. However, if you are looking to compete in a Forex contest or want to add excitement to your trading life style those features could find a place in your strategies. Although your backtest may show spectacular gains don’t expect your live trading account to do the same. Every backtest has some measure to data mining bias. Please remember that.
This script is equipped with a consecutive loss counter. A limit field is provided in the report section of the input dialog box. This is a whole number value that, when specified, will generate a label on the chart when consecutive losses exceed the threshold. Every stop hit beyond this limit will be reported on a version 4 label above the bar where the stop is hit. Use the location of the labels along with the summary report tally to improve the adaptability of system. Don’t simply fit the chart. A good trading system should adapt to ever changing market conditions. On the study version the consecutive loss limit can be used to halt live trading on the broker side (managed manually).
This script can simulate leverage applied to your account capital. Basically, you want to know if the account capital you specified in the properties tab is sufficient to trade this script with the order size, pyramid and DCA parameters needed. TradingView does not halt trading when the account capital is depleted nor do you receive notification of such an event. Input the leverage you intend to trade with and simulate the stress on your account capital. When the check box labeled “Report Margin Call” is enabled a marker will plot on the chart at the location where the threshold was breached. Additionally, the Summary Report will indicated such a breach has occurred during the backtest. Please note that the margin calculation uses a performance bond contract model which is the same type of leverage applied to Forex accounts. This is not the same leverage as stock margin accounts since shares are not actually borrowed. It is also not applicable to futures contracts since we do not calculate maintenance margin. Also note that the account margin and buying power are calculated using the U.S. Dollar as a funding currency. Margin rules across the globe vary considerably so use this feature as an approximation. The “Report Margin Call” plot only appears on negative buying power which is well beyond the NFA enforced margin closeout price. Vary the order size and account capital and activate the buying power plot to get as close as you can to the desired margin call threshold. Also keep in mind that rollover fees, commissions, spreads, etc affect the margin call in actual live trading. This feature does not include any of those costs.
Inputs
The script input dialog box is divided into five sections. The last section, Section 5, contains all of the script reporting options. Notable reporting options are the inputs which provide support for calculating actual Sharpe Ratios and other risk / performance metrics. The TradingView performance report does not produce a scalable Sharpe Ratio which is unfortunate considering the limited data supplied to the backtest. Three report fields made available in this section are intended to enable users to measure the performance of this script using various industry standard risk metrics. In particular, The Sharpe Ratio, Sortino Ratio, Alpha Calculation, Beta Calculation, R-Squared and Monthly Standard Deviation. The following fields are dedicated to this effort:
– ROR Sample Period - Integer number which specifies the rate of return period. This number is a component of the Sharpe Ratio and determines the number of sample periods divisible in the chart data. The number specified here is the length of the period measured in bar intervals. Since the quantity of TradingView historical data is limited this number should reflect the scalar value applied to your Sharpe calculation. When the checkbox “Report Period ROR” is enabled red boxes plot on the dates corresponding to the ROR sample period. The red boxes display information useful in calculating various risk and performance models. Ongoing buying power is included in the period report which is especially useful in assessing the DCA stress on account capital. Important: When the “ROR Sample Period” is specified the script computes the ROR mean value and displays the result in the summary report label on the live end of the chart. Use this number to calculate the historical standard deviation of period returns.
– Return Mean Value - This is the ROR mean value which is displayed in the summary report field “ROR Mean”. Enter the value shown in the summary report here in order to calculate the standard deviation of returns. Once calculated the result is displayed in the summary report field “Standard Dev”. Please note that ROR and standard deviation are calculated on the quote currency of the chart and not the account currency. If you intend to calculate risk metrics based on other denominated returns use the period calculations in a spreadsheet. Important: Do not change the account denomination on the properties tab simply to force a dollar calculation. It will alter the backtest itself since the minimum profit, stop-loss and other variables are always measured in the quote currency of the chart.
– Report Period ROR - This checkbox is used to display the ROR period report which plots a red label above the bars corresponding to the ROR sample period. The sample period is defined by the value entered into the “ROR Sample Period” field. This checkbox only determines if the period labels plot on the chart. It does not enable or disable the ROR calculation itself. Please see input description“ROR Sample Period” for a detailed description of this feature.
Design
This script uses twelve indicators on a single time frame. The original trading algorithms are a port from a much larger program on another trading platform. I’ve converted some of the statistical functions to use standard indicators available on TradingView. The setups make heavy use of the Hull Moving Average in conjunction with EMAs that form the Bill Williams Alligator as described in his book “New Trading Dimensions” Chapter 3. Lag between the Hull and the EMAs form the basis of the entry and exit points. The vertices are calculated using one of five featured indicators. Each indicator is actually a composite of calculations which produce a distinct mean. This mathematical distinction enables the script to be useful on various instruments which belong to entirely different markets. In other words, at least one of these indicators should be able generate pivots on an arbitrarily selected instrument. Try each one to find the best fit.
The entire script is around 2200 lines of Pine code which pushes the limits of what can be created on this platform given the TradingView maximums for: local scopes, run-time duration and compile time. This script incorporates code from both my range trader and trend following published programs. Both have been in development for nearly two years and have been in beta test for the last several months. During the beta test of the range trading script it was discovered that by widening the stop and delaying the entry, add on trading opportunities appeared on the chart. I determined that by sacrificing a few minor features code space could be made available for pyramiding capability in the range trader. The module has been through several refactoring passes and makes extensive use of ternary statements. As such, It takes a full three minutes to compile after adding it to a chart. Please wait for the hovering dots to disappear before attempting to bring up the input dialog box. For the most part the same configuration settings for the range script can be applied to this script.
Inputs to the script use cone centric measurements in effort to avoid exposing adjustments to the various internal indicators. The goal was to keep the inputs relevant to the actual trade entry and exit locations as opposed to a series of MA input values and the like. As a result the strategy exposes over 70 inputs grouped into long or short sections. Inputs are available for the usual minimum profit and stop-loss as well as safeguards, trade frequency, pyramids, DCA, modes, presets, reports and lots of calibrations. The inputs are numerous, I know. Unfortunately, at this time, TradingView does not offer any other method to get data in the script. The usual initialization files such as cnf, cfg, ini, json and xml files are currently unsupported.
I have several example configuration settings that I use for my own trading. They include cryptocurrencies and forex instruments on various time frames.
Indicator Repainting and Anomalies
Indicator repainting is an industry wide problem which mainly occurs when you mix backtest data with real-time data. It doesn't matter which platform you use some form of this condition will manifest itself on your chart over time. The critical aspect being whether live trades on your broker’s account continue to match your TradingView study.
Based on my experience with Pine, most of the problems stem from TradingView’s implementation of multiple interval access. Whereas most platforms provide a separate bar series for each interval requested, the Pine language interleaves higher time frames with the primary chart interval. The problem is exacerbated by allowing a look-ahead parameter to the Security function. The goal of my repaint prevention is simply to ensure that my signal trading bias remains consistent between the strategy, study and broker. That being said this is what I’ve done address this issue in this script:
1. This script uses only 1 time frame. The chart interval.
2. Every entry and exit condition is evaluated on closed bars only.
3. No security functions are called to avoid a look-ahead possibility.
4. Every contributing factor specified in the TradingView wiki regarding this issue has been addressed.
5. Entry and exit setups are not reliant on crossover conditions.
6. I’ve run a 10 minute chart live for a week and compared it to the same chart periodically reloaded. The two charts were highly correlated with no instances of completely opposite real-time signals. I do have to say that there were differences in the location of some trades between the backtest and the study. But, I think mostly those differences are attributable to trading off closed bars in the study and the use of strategy functions in the backtest.
The study does indeed bring up the TV warning dialog. The only reason for this is because the script uses an EMA indicator which according to TradingView is due to “peculiarities of the algorithm”. I use the EMA for the Bill Williams Alligator so there is no way to remove it.
One issue that comes up when comparing the strategy with the study is that the strategy trades show on the chart one bar later than the study. This problem is due to the fact that “strategy.entry()” and “strategy_exit()” do not execute on the same bar called. The study, on the other hand, has no such limitation since there are no position routines.
Please be aware that the data source matters. Cryptocurrency has no central tick repository so each exchange supplies TradingView its feed. Even though it is the same symbol the quality of the data and subsequently the bars that are supplied to the chart varies with the exchange. This script will absolutely produce different results on different data feeds of the same symbol. Be sure to backtest this script on the same data you intend to receive alerts for. Any example settings I share with you will always have the exchange name used to generate the test results.
Usage
The following steps provide a very brief set of instructions that will get you started but will most certainly not produce the best backtest. A trading system that you are willing to risk your hard earned capital will require a well crafted configuration that involves time, expertise and clearly defined goals. As previously mentioned, I have several example configs that I use for my own trading that I can share with you. To get hands on experience in setting up your own symbol from scratch please follow the steps below.
The input dialog box contains over 70 inputs separated into five sections. Each section is identified as such with a makeshift separator input. There are three main areas that must to be configured: long side, short side and settings that apply to both. The rest of the inputs apply to pyramids, DCA, reporting and calibrations. The following steps address these three main areas only. You will need to get your backtest in the black before moving on to the more advanced features.
Step 1. Setup the Base currency and order size in the properties tab.
Step 2. Select the calculation presets in the Instrument Type field.
Step 3. Select “No Trade” in the Trading Mode field.
Step 4. Select the Histogram indicator from Section 2. You will be experimenting with different ones so it doesn’t matter which one you try first.
Step 5. Turn on Show Markers in Section 2.
Step 6. Go to the chart and checkout where the markers show up. Blue is up and red is down. Long trades show up along the red markers and short trades on the blue.
Step 7. Make adjustments to “Base To Vertex” and “Vertex To Base” net change and roc in Section 3. Use these fields to move the markers to where you want trades to be.
Step 8. Try a different indicator from Section 2 and repeat Step 7 until you find the best match for this instrument on this interval. This step is complete when the Vertex settings and indicator combination produce the most favorable results.
Step 9. Go to Section 3 and enable “Apply Red Base To Base Margin”.
Step 10. Go to Section 4 and enable “Apply Blue Base To Base Margin”.
Step 11. Go to Section 2 and adjust “Minimum Base To Base Blue” and “Minimum Base To Base Red”. Observe the chart and note where the markers move relative to each other. Markers further apart will produce less trades but will reduce cutoffs in “Ping Pong” mode.
Step 12. Return to Section 3 and 4 and turn off “Base To Base Margin” which was enabled in steps 9 and 10.
Step 13. Turn off Show Markers in Section 2.
Step 14. Put in your Minimum Profit and Stop Loss in the first section. This is in pips or currency basis points (chart right side scale). Percentage is not currently supported. This is a fixed value minimum profit and stop loss. Also note that the profit is taken as a conditional exit on a market order not a fixed limit. The actual profit taken will almost always be greater than the amount specified (due to the exit condition). The stop loss, on the other hand, is indeed a hard number which is executed by the TradingView broker simulator when the threshold is breached. On the study version, the stop is executed at the close of the bar.
Step 15. Return to step 3 and select a Trading Mode (Long, Short, BiDir, Ping Pong). If you are planning to trade bidirectionally its best to configure long first then short. Combine them with “BiDir” or “Ping Pong” after setting up both sides of the trade individually. The difference between “BiDir” and “Ping Pong” is that “Ping Pong” uses position reversal and can cut off opposing trades less than the specified minimum profit. As a result “Ping Pong” mode produces the greatest number of trades.
Step 16. Take a look at the chart. Trades should be showing along the markers plotted earlier.
Step 17. Make adjustments to the Vertex fields in Section 2 until the TradingView performance report is showing a profit. This includes the “Minimum Base To Base” fields. If a profit cannot be achieved move on to Step 18. Other adjustments may make a crucial difference.
Step 18. Improve the backtest profitability by adjusting the “Entry Net Change” and “Entry ROC” in Section 3 and 4.
Step 19. Enable the “Mandatory Snap” checkbox in Section 3 and 4 and adjust the “Snap Candle Delta” and “Snap Fractal Delta” in Section 2. This should reduce some chop producing unprofitable reversals.
Step 20. Increase the distance between opposing trades by adding an “Interleave Delta” in Sections 3 and 4. This is a floating point value which starts at 0.01 and typically does not exceed 2.0.
Step 21. Increase the distance between opposing trades even further by adding a “Decay Minimum Span” in Sections 3 and 4. This is an absolute value specified in the symbol’s quote currency (right side scale of the chart). This value is similar to the minimum profit and stop loss fields in Section 1.
Step 22. Improve the backtest profitability by adjusting the “Sparse Delta” in Section 3 and 4.
Step 23. Improve the backtest profitability by adjusting the “Chase Delta” in Section 3 and 4.
Step 24. Improve the backtest profitability by adjusting the “Adherence Delta” in Section 3 and 4. This field requires the “Adhere to Rising Trend” checkbox to be enabled.
Step 25. Try each checkbox in Section 3 and 4. See if it improves the backtest profitability. The “Caution Lackluster” checkbox only works when “Caution Mode” is enabled.
Step 26. Enable the reporting conditions in Section 5. Look for long runs of consecutive losses or high debt sequences. These are indications that your trading system cannot withstand sudden changes in market sentiment.
Step 27. Examine the chart and see that trades are being placed in accordance with your desired trading goals. This is an important step. If your desired model requires multiple trades per day then you should be seeing hundreds of trades on the chart. Alternatively, you may be looking to trade fewer steep peaks and deep valleys in which case you should see trades at major turning points. Don’t simply settle for what the backtest serves you. Work your configuration until the system aligns with your desired model. Try changing indicators and even intervals if you cannot reach your simulation goals. Generally speaking, the histogram and Candle indicators produce the most trades. The Macro indicator captures the tallest peaks and valleys.
Step 28. Apply the backtest settings to the study version and perform forward testing.
This script is open for beta testing. After successful beta test it will become a commercial application available by subscription only. I’ve invested quite a lot of time and effort into making this the best possible signal generator for all of the instruments I intend to trade. I certainly welcome any suggestions for improvements. Thank you all in advance.
One final note. I'm not a fan of having the Performance Overview (blue wedge) automatically show up at the end of the publish page since it could be misleading. On the EUR/USD backtest showing here I used a minimum profit of 65 pips, a stop of 120 pips, the candle indicator and a 5 pyramid max value. Also Mark Pyramid Levels (blue triangles) are enabled along with a 720 ROR Sample Period (red labels).
Algorithm Builder - Multiple Trends+ (Plug & Play)Hello traders
I. SCRIPTS ACCESS AND TRIALS
1. For the trial request access, they have to be done through my website .
2. My website URL is in this script signature at the very bottom (you'll have to scroll down a bit and going past the long description) and in my profile status available here : Daveatt
Due to the new scripts publishing house rules, I won't mention the URL here directly. As I value my partnership with TradingView very much, I prefer showing you the way for finding them :)
3. You may also contact me directly for more information
II. Algorithm Builder - Multiple Trends
2.1 Forewords
The Multiple Trends+ is the update of the Multiple Trends and includes a built-in Trade Manager and PnL/Risk-Reward Panel
This indicator is available only to our PREMIUM users. Our PREMIUM indicators offer more trading analysis capabilities and opportunities.
A few words of caution: the Algorithm Builders - Multiple Trends are more advanced and as such, would require slightly more time to be mastered.
They're not that much difficult, but we understand that designing a trading system with 2 trends might be slightly more complicated - however, there is nothing to be scared of :).
The time spent to learn how to use our PREMIUM tools might be rewarded handsomely.
2.2 Concept
The Algorithm Builder - Multiple Trends is made to detect the convergence of many unrelated indicators and give a BUY or SELL signal whenever all the selected sub-indicators are converging in the same direction.
This is an upgrade of the PRO package giving access to the Algorithm Builder - Single Trend - designed to show 1 unique entry per trend - whereas the Multiple Trends offers re-entries in the same direction of the trend if the indicator detects good convergences to accumulate more positions.
III. Plug & Play
Hope you're ready to be impressed. Because, what I'm about to introduce, is my best-seller feature - and available across many of my indicators.
In TradingView, there is a feature called "Indicator on Indicator" meaning you can use an external indicator as a data source for another indicator.
I'm using that feature to connect any external indicator to our Algorithm Builder Multiple Trends+ Plug & Play (hence the plug and play name).
Let's assume we have an RSI divergence indicator - which is not part of the Algorithm Builder - but noticed that the convergence of an RSI divergence and a MACD gives strong signals.
I mentioned an RSI divergence, but you may connect any oscillator (MACD, On balance volume, stochastic RSI, True Strenght index, and many more..) or non-oscillator (divergence, trendline break, higher highs/lower lows, candlesticks pattern, price action, harmonic patterns, ...) indicators.
THE SKY IS (or more likely your imagination) is the limit :)
Fear no more. The Plug&Play technology allows you to connect it and use it in the convergence/confluence calculations.
Hence, whenever the MACD and RSI divergence will be in the same direction every time you'll get a convergence.
PS: Whereas it's only the first time only because this is a Single trend edition.
To connect your external indicator to ours, we're using a native TradingView feature, which is not available for all users.
It depends on your TradingView subscription plan ( More info here )
If you intend to use our Algorithm Plug&Play indicator, and/or our Backtest Plug&Play suites, then you must upgrade your TradingView account to enjoy those features.
We value our relationship with our customers seriously, and that's why we're warning upfront you that a compatible TradingView account type is required - at least PRO+ or PREMIUM to add more than 1 Plug&Play indicator per account.
We go in-depth on our website why the Plug&Play is an untapped opportunity for many traders out there - URL available on my profile status and signature
IV. Multiple Trends versus Single Trend
4.1 Multiple Trends benefits
A friend asked us recently Why using the Multiple Trends if we can use the Single Trend in a smaller timeframe, and get more entries that way?
We thought this was an excellent question, but the answer is obvious.
Using a Single Trend on a smaller timeframe to solely getting more entries will reduce the security of the given trades.
We designed the Algorithm Builders to take a trade in an identified trend but reducing the timeframe too much will mostly increase your risk - and might lead to capital loss.
By the way, this is a universal rule valid also for a big majority of indicators.
We're absolutely not saying that the Single Trend won't work on small timeframes because actually it really does. But, if you find out a great configuration for your Single Trend, and want to get more signals without increasing your risk - then the Multiple Trends would be a very viable option.
4.2 Main signal versus secondary signals
For the main and secondary trends, the color green symbolizes any identified "BUY" trend. And the color red symbolizes any identified "SELL" trend.
-The MAIN trend symbol is unique and symbolized by a triangle.
- The SECONDARY (could also be called re-entries) trends are multiple and symbolized by a diamond.
In the Algorithm Builder indicator settings, they're identified with the Additional keyword.
4.3 How the convergences are calculated
Extremely important: The diamonds (or re-entries) are displayed, as long as a triangle (or main/primary signal) is displayed.
For a trend change (buy to sell or sell to buy), the system waits for ALL selected re-entries sub-indicators , to give a convergence/confluence in the opposite direction.
For example, let's assume a BUY/green convergence based on 3 indicators. One or Two of them going turning red, won't be enough for a trend change.
But, if all of them turn red, then we'll see a red triangle - signaling the beginning of a new downtrend.
4.4 Why multiple entries?
Here are a few use cases :
1. The main use case why we made those Multiple Trends indicators: A trader got invalidated or stopped out on a trade, but wants a system to let hin/her jump back in with a minimum of security. (security depending on the configuration of the Algorithm Builder as a whole).
This is very frustrating to get in a trade, being stopped out, and finally, see the trade going in the expected direction.
Even more frustrating to jump back in at the end of a trend, and get stopped out again - we all agree on this.
2. You want to add more positions on your main trade as your Algo Builder identified a solid trend - this is a nice way to possibly maximize your gains.
Once again, we don't/won't guarantee any performance result (not because we don't believe in our tools, but for legal reason), all depends on the time spent reading our documentation and playing with the Algo Builder - as explained on our Tutorials.
More info available on our website. URL available in this script signature and on my profile status.
V. Why the Algorithm Builder Multiple Trends+ may help you
I worked with many traders during my career, and their feedback about trading is often pretty similar.
They all tried a lot of complicated indicators, losing their capital, and finally getting back to the basics (even to the basic indicators if I might say)
The art is finding a good combination of indicators and setting strict money/risk management rules.
Easy in concept, but more than 90+% of traders lose money on the markets... which teach us that trading is not only about drawing trendlines, or using cool indicators but finding ways to ease our psychology while trading.
5.1 The Algorithm Builder trading framework
The sub-indicators (full list on our website) weren't chosen randomly. They're based on a trading method we've developed over the last 6 years - while working with traders and other trading quants.
The Algo Builders are made to detect a convergence - and as such, will give a signal once a trend has been identified.
They're not made to detect reversal but have been designed to give a signal when all sub-indicators are either ALL bullish (green) or ALL bearish (red).
We provide a framework based on indicators we selected because they:
1. make sense to be used altogether
2. work on asset classes like INDEX, CRYPTO, STOCK OPTIONS, FOREX, COMMODITIES
3. it may expand your knowledge about what detecting a convergence with pre-selected indicator really means
5.2 Supports and Resistances
The indicator displays the main algorithmic supports and resistances according to our trading method.
I think they're relevant for all asset classes, but you're absolutely free to use any different supports/resistances logic if you want to.
I'm not against it because I know that pivots, Fibonacci levels, etc. may work very well also.
5.3 Choose your favorite risk management algorithm
1/ Pre-defined Algo S/R method using:
- a supertrend of the stop-loss
- the nearest algorithmic resistances for the take profit levels.
2/ Define your own Stop-loss and Take-profits level in real-time
Stop-Loss Management
For what's following, let's assume that 2 is the stop-loss value you inserted in the indicator, and the Algorithm Builder gives a BUY signal.
This is NOT a recommendation at all, only an example to explain how this feature works.
- %Trailing: The Stop-Loss starts 2% away from the entry price - and will move up (because we're on a BUY trade as per our example) every time your trade will gain 2% profit
- Percentage: The Stop-Loss stays static 2% away from the entry price. There is no trailing here
- TP Trailing: This is a very awesome feature. The stop-loss is set 2% away when the trades start.
When the TP1 is hit, the stop-loss will be moved to the Entry price (also called breakeven).
When the TP2 is hit, the SL is moved to the previous TP1 position
- Fixed: Set the Stop-Loss at a fixed position (value should be in currency/units)
Take Profits Management
You can manage up to 2 take profit levels defined as a percentage or price value.
The expected input is in percentage value (for instance, setting the % target of TP1 to 2% will set the TP1 level 2% away from the entry price
5.4 Built-in Trade Manager
This is very likely the most loved utility script that we shared on TradingView.
It's included in your Algorithm Builder - Single Trend+, and will certainly help you immensely to analyze your charts and your trades.
We made sure that all the graphical elements on the chart will be updated in real-time whenever our user change anything on the indicator configuration.
You'll also be able to change the Trade Manager labels positions as you wish :)
5.5 Built-in Risk-to-Reward Panel
The good stuff doesn't stop here.
You'll notice that this sometimes green (when in a LONG), sometimes red (when in a SHORT) panel at the right of your chart.
It displays for the selected trading algorithmic (see 2.3.2 above), a ton of useful real-time analytics.
- Entry Price: the price when the Algorithm Builder will give a signal.
- The Trade PnL in percentage.
- Entry Stop Loss: Distance (in currency/units) between the selected stop-loss algorithm (percent, trailing, TP trailing, etc.) and the entry price.
- Entry TP1: Distance (in currency/units) between the entry price and the first take profit
- Entry TP2: Distance (in currency/units) between the entry price and the second take profit
- Risk/Reward TP1: Using the Stop-loss distance at entry, and Take Profit 1 at entry to compute the risk-to-reward ratio.
- Risk/Reward TP2: Using the Stop-loss distance at entry, and Take Profit 2 at entry to compute the risk-to-reward ratio.
For more details, please check the guides section of my website. Links are in my signature and profile status.
5.6 Built-in PnL real-time calculations
YES!!!! you read it correctly
The panel displays the risk-to-reward ratios but also the PnL (Profit and Loss in percentage value) of the current and last trade
5.7 Hard Exits
Our trading method is known for the hard exits, also called invalidation.
The Single Trend+ includes a hard exit based on a MACD - settings are flexible and you may update them.
Having a stop-loss protecting your trade is a best practice - Protecting your stop-loss also from getting hit is incredible.
We prefer invalidate a few positions, even if sometimes we don't want to. Rather than the market hard exiting on us, and leaving with our hard-working money.
5.8 Alerts
Alerts are enabled for:
- BUY/SELL MAIN triangles signals
- BUY/SELL SECONDARY diamond signals
- Trade Manager alerts (Stop Loss, Take Profit 1, Take Profit 2)
- Hard Exits
VI. Pain points that we're trying to solve with our Algorithm Builders
Issue #1 There are many informations / indicators / strategies / backtests / noise. Finding the right ones is not a simple task.
Solution #1 A reliable system that removes the external noise is much needed in trading to stay "in the game".
Issue #2 Trading could be quite stressful - The majority doesn't lose in trading because technical analysis is hard, but because managing our psychology is one of the hardest things a human can do.
Solution #2 Some ways to reduce the "trading stress" could be: getting better quality signals and trading like a "machine". Forgetting about Twitter and trusting the system you designed.
Issue #3 Trading without strict rules and only based on what we feel, or what we think the market should do is the fastest way to kiss our money goodbye.
Only 1 indicator generally is not enough. Traders generally use a combination of several indicators but they're monitoring them individually.
It's normal then to feel exhausted at the end of the day ^^ (to say the least)... and exhaustion leads to mistakes which leads to..... (I'm sure you got it) ... capital loss.
Solution #3 As a trader, I needed a trading framework and a method. I offer our trading method but they're plenty others out there. We cannot claim obviously it's the best ever ....but let's say we're using those exact same
scripts ourselves for our trading. And this what we've been recommending our clients to trade with for the past years. Also, having a tool detecting the convergence of several indicators and giving 1 unique signal
for BUY/SELL position will save you a lot of time/energy, and perhaps might help you out getting better trading performance.
VII. Resolving a complex puzzle and having fun in the process
Trading has to stay a passion and not (only be) a source of intense stress.
The most successful traders I know are "trading geeks" - literally always looking for optimizing, searching for the best possible entries, setups, indicators, tools, etc.
For them, it's not even about the money anymore, but only about beating their previous performance.
Why are they doing this? Because it's fun
Might appears as a bold statement, but I guarantee that looking for setups is fun.
One of our users even told us, that it's like playing with "Legos" and we couldn't possibly agree more.
VIII. Designing a system that "makes sense"
Another bold statement now. Brace yourselves ladies and gentlemen
The Algorithm Builders allow to design trading systems quickly. What could takes days/weeks/months to find out... might be now within your reach in less than a few hours.
With a bit of practice, less than an hour might be enough per asset/timeframe to find a system that makes sense to you and adapted to your trading capital and psychology.
Assuming our users read our guides and are fully committed to learning a new way of trading - then we do guarantee you'll be able to design kick-ass trading systems that make sense.
"Making sense" doesn't mean at all it's guaranteed to win, it means you're the one defining the convergence of indicators, using your Algorithm Builder, and observe that most of the time - whenever there is a BUY signal, the candlesticks are going upwards - whenever there is a SELL signal, it's going downwards.
This is a necessary step to make real progress from a trading analyst perspective - and hopefully could lead to profits.
VIII. Algorithm Builder versus the main trader enemy(=psychology)
This indicator has the goal to help solving one of the MAIN issues encountered by traders.
Most of traders realize, they can't perform with only 1 indicator (or 1 price pattern or 1 price action) and need a combination of multiple indicators before getting in a trade.
Far from being a magic pill, if it could at least reduce the stress you have while trading, then we'll consider we made a great job - it's a technical "useless noise remover", and needs to be followed strictly.
Such trust in a trading system can only be built by testing your Algorithm Builder configuration on either:
1. a demo account
2. or a live account with small bids. And then, increasing progressively the bids if your capital increases progressively.
Though, you should still use your common sense. (for instance: if we get a BUY signal right on a big timeframe resistance we're hitting for the first time).
I'm aware this is a new way of trading but for many, and while we cannot foresee the future, neither predict performance, we believe it might save you a lot of time to find good signals.
My maximum level of happiness will be reached the day when our users will contact me and showing me setups being mine.
I'm sure that even I can learn from my users and, we can all learn from each other Algorithm Builder configuration
IX. What is a wrong or bad configuration?
Simply put. If you see that most of your signals react such as described below:
1. a buy triangle/diamond predicts, most of the time an upwards move
2. a sell triangle/diamond predicts, most of the time a downwards move
3. you estimated yourself the stop-loss needed to give enough room for your trades.
4. take profits based on algorithmic support and resistances or your own take profit method.
So what's a good Algorithm Builder configuration? A configuration you're happy with and makes sense.
A better Algorithm Builder setup is one used in demo or a live account w/ small bids for a few weeks, and you're consistent in your trading performance.
If you have any doubt or question, please hit me up directly or ask in the comments section of this script.
I'll never claim I have the best trading methodology or the best indicators. You only will be the judge, and I'll appreciate all the questions and feedback you're sending my way.
They help me a ton to develop indicators based on all the requests I received.
Kind regards,
Dave
Algorithm Builder - Multiple Trends+ (+ Trade Manager and Panel)Hello traders
I. SCRIPTS ACCESS AND TRIALS
1. For the trial request access, they have to be done through my website .
2. My website URL is in this script signature at the very bottom (you'll have to scroll down a bit and going past the long description) and in my profile status available here : Daveatt
Due to the new scripts publishing house rules, I won't mention the URL here directly. As I value my partnership with TradingView very much, I prefer showing you the way for finding them :)
3. You may also contact me directly for more information
II. Algorithm Builder - Multiple Trends
2.1 Forewords
The Multiple Trends+ is the update of the Multiple Trends and includes a built-in Trade Manager and PnL/Risk-Reward Panel
This indicator is available only to our PREMIUM users. Our PREMIUM indicators offer more trading analysis capabilities and opportunities.
A few words of caution: the Algorithm Builders - Multiple Trends are more advanced and as such, would require slightly more time to be mastered.
They're not that much difficult, but we understand that designing a trading system with 2 trends might be slightly more complicated - however, there is nothing to be scared of :).
The time spent to learn how to use our PREMIUM tools might be rewarded handsomely.
2.2 Concept
The Algorithm Builder - Multiple Trends is made to detect the convergence of many unrelated indicators and give a BUY or SELL signal whenever all the selected sub-indicators are converging in the same direction.
This is an upgrade of the PRO package giving access to the Algorithm Builder - Single Trend - designed to show 1 unique entry per trend - whereas the Multiple Trends offers re-entries in the same direction of the trend if the indicator detects good convergences to accumulate more positions.
III. Multiple Trends versus Single Trend
3.1 Multiple Trends benefits
A friend asked us recently Why using the Multiple Trends if we can use the Single Trend in a smaller timeframe, and get more entries that way?
We thought this was an excellent question, but the answer is obvious.
Using a Single Trend on a smaller timeframe to solely getting more entries will reduce the security of the given trades.
We designed the Algorithm Builders to take a trade in an identified trend but reducing the timeframe too much will mostly increase your risk - and might lead to capital loss.
By the way, this is a universal rule valid also for a big majority of indicators.
We're absolutely not saying that the Single Trend won't work on small timeframes because actually it really does. But, if you find out a great configuration for your Single Trend, and want to get more signals without increasing your risk - then the Multiple Trends would be a very viable option.
3.2 Main signal versus secondary signals
For the main and secondary trends, the color green symbolizes any identified "BUY" trend. And the color red symbolizes any identified "SELL" trend.
-The MAIN trend symbol is unique and symbolized by a triangle.
- The SECONDARY (could also be called re-entries) trends are multiple and symbolized by a diamond.
In the Algorithm Builder indicator settings, they're identified with the Additional keyword.
3.3 How the convergences are calculated
Extremely important: The diamonds (or re-entries) are displayed, as long as a triangle (or main/primary signal) is displayed.
For a trend change (buy to sell or sell to buy), the system waits for ALL selected re-entries sub-indicators , to give a convergence/confluence in the opposite direction.
For example, let's assume a BUY/green convergence based on 3 indicators. One or Two of them going turning red, won't be enough for a trend change.
But, if all of them turn red, then we'll see a red triangle - signaling the beginning of a new downtrend.
3.4 Why multiple entries?
Here are a few use cases :
1. The main use case why we made those Multiple Trends indicators: A trader got invalidated or stopped out on a trade, but wants a system to let hin/her jump back in with a minimum of security. (security depending on the configuration of the Algorithm Builder as a whole).
This is very frustrating to get in a trade, being stopped out, and finally, see the trade going in the expected direction.
Even more frustrating to jump back in at the end of a trend, and get stopped out again - we all agree on this.
2. You want to add more positions on your main trade as your Algo Builder identified a solid trend - this is a nice way to possibly maximize your gains.
Once again, we don't/won't guarantee any performance result (not because we don't believe in our tools, but for legal reason), all depends on the time spent reading our documentation and playing with the Algo Builder - as explained on our Tutorials.
More info available on our website. URL available in this script signature and on my profile status.
IV. Why the Algorithm Builder Multiple Trends+ may help you
I worked with many traders during my career, and their feedback about trading is often pretty similar.
They all tried a lot of complicated indicators, losing their capital, and finally getting back to the basics (even to the basic indicators if I might say)
The art is finding a good combination of indicators and setting strict money/risk management rules.
Easy in concept, but more than 90+% of traders lose money on the markets... which teach us that trading is not only about drawing trendlines, or using cool indicators but finding ways to ease our psychology while trading.
4.1 The Algorithm Builder trading framework
The sub-indicators (full list on our website) weren't chosen randomly. They're based on a trading method we've developed over the last 6 years - while working with traders and other trading quants.
The Algo Builders are made to detect a convergence - and as such, will give a signal once a trend has been identified.
They're not made to detect reversal but have been designed to give a signal when all sub-indicators are either ALL bullish (green) or ALL bearish (red).
We provide a framework based on indicators we selected because they:
1. make sense to be used altogether
2. work on asset classes like INDEX, CRYPTO, STOCK OPTIONS, FOREX, COMMODITIES
3. it may expand your knowledge about what detecting a convergence with pre-selected indicator really means
4.2 Supports and Resistances
The indicator displays the main algorithmic supports and resistances according to our trading method.
I think they're relevant for all asset classes, but you're absolutely free to use any different supports/resistances logic if you want to.
I'm not against it because I know that pivots, Fibonacci levels, etc. may work very well also.
4.3 Choose your favorite risk management algorithm
1/ Pre-defined Algo S/R method using:
- a supertrend of the stop-loss
- the nearest algorithmic resistances for the take profit levels.
2/ Define your own Stop-loss and Take-profits level in real-time
Stop-Loss Management
For what's following, let's assume that 2 is the stop-loss value you inserted in the indicator, and the Algorithm Builder gives a BUY signal.
This is NOT a recommendation at all, only an example to explain how this feature works.
- %Trailing: The Stop-Loss starts 2% away from the entry price - and will move up (because we're on a BUY trade as per our example) every time your trade will gain 2% profit
- Percentage: The Stop-Loss stays static 2% away from the entry price. There is no trailing here
- TP Trailing: This is a very awesome feature. The stop-loss is set 2% away when the trades start.
When the TP1 is hit, the stop-loss will be moved to the Entry price (also called breakeven).
When the TP2 is hit, the SL is moved to the previous TP1 position
- Fixed: Set the Stop-Loss at a fixed position (value should be in currency/units)
Take Profits Management
You can manage up to 2 take profit levels defined as a percentage or price value.
The expected input is in percentage value (for instance, setting the % target of TP1 to 2% will set the TP1 level 2% away from the entry price
4.4 Built-in Trade Manager
This is very likely the most loved utility script that we shared on TradingView.
It's included in your Algorithm Builder - Single Trend+, and will certainly help you immensely to analyze your charts and your trades.
We made sure that all the graphical elements on the chart will be updated in real-time whenever our user change anything on the indicator configuration.
You'll also be able to change the Trade Manager labels positions as you wish :)
4.5 Built-in Risk-to-Reward Panel
The good stuff doesn't stop here.
You'll notice that this sometimes green (when in a LONG), sometimes red (when in a SHORT) panel at the right of your chart.
It displays for the selected trading algorithmic (see 2.3.2 above), a ton of useful real-time analytics.
- Entry Price: the price when the Algorithm Builder will give a signal.
- The Trade PnL in percentage.
- Entry Stop Loss: Distance (in currency/units) between the selected stop-loss algorithm (percent, trailing, TP trailing, etc.) and the entry price.
- Entry TP1: Distance (in currency/units) between the entry price and the first take profit
- Entry TP2: Distance (in currency/units) between the entry price and the second take profit
- Risk/Reward TP1: Using the Stop-loss distance at entry, and Take Profit 1 at entry to compute the risk-to-reward ratio.
- Risk/Reward TP2: Using the Stop-loss distance at entry, and Take Profit 2 at entry to compute the risk-to-reward ratio.
For more details, please check the guides section of my website. Links are in my signature and profile status.
4.6 Built-in PnL real-time calculations
YES!!!! you read it correctly
The panel displays the risk-to-reward ratios but also the PnL (Profit and Loss in percentage value) of the current and last trade
4.7 Hard Exits
Our trading method is known for the hard exits, also called invalidation.
The Single Trend+ includes a hard exit based on a MACD - settings are flexible and you may update them.
Having a stop-loss protecting your trade is a best practice - Protecting your stop-loss also from getting hit is incredible.
We prefer invalidate a few positions, even if sometimes we don't want to. Rather than the market hard exiting on us, and leaving with our hard-working money.
4.8 Alerts
Alerts are enabled for:
- BUY/SELL MAIN triangles signals
- BUY/SELL SECONDARY diamond signals
- Trade Manager alerts (Stop Loss, Take Profit 1, Take Profit 2)
- Hard Exits
V. Pain points that we're trying to solve with our Algorithm Builders
Issue #1 There are many informations / indicators / strategies / backtests / noise. Finding the right ones is not a simple task.
Solution #1 A reliable system that removes the external noise is much needed in trading to stay "in the game".
Issue #2 Trading could be quite stressful - The majority doesn't lose in trading because technical analysis is hard, but because managing our psychology is one of the hardest things a human can do.
Solution #2 Some ways to reduce the "trading stress" could be: getting better quality signals and trading like a "machine". Forgetting about Twitter and trusting the system you designed.
Issue #3 Trading without strict rules and only based on what we feel, or what we think the market should do is the fastest way to kiss our money goodbye.
Only 1 indicator generally is not enough. Traders generally use a combination of several indicators but they're monitoring them individually.
It's normal then to feel exhausted at the end of the day ^^ (to say the least)... and exhaustion leads to mistakes which leads to..... (I'm sure you got it) ... capital loss.
Solution #3 As a trader, I needed a trading framework and a method. I offer our trading method but they're plenty others out there. We cannot claim obviously it's the best ever ....but let's say we're using those exact same
scripts ourselves for our trading. And this what we've been recommending our clients to trade with for the past years. Also, having a tool detecting the convergence of several indicators and giving 1 unique signal
for BUY/SELL position will save you a lot of time/energy, and perhaps might help you out getting better trading performance.
VI. Resolving a complex puzzle and having fun in the process
Trading has to stay a passion and not (only be) a source of intense stress.
The most successful traders I know are "trading geeks" - literally always looking for optimizing, searching for the best possible entries, setups, indicators, tools, etc.
For them, it's not even about the money anymore, but only about beating their previous performance.
Why are they doing this? Because it's fun
Might appears as a bold statement, but I guarantee that looking for setups is fun.
One of our users even told us, that it's like playing with "Legos" and we couldn't possibly agree more.
VII. Designing a system that "makes sense"
Another bold statement now. Brace yourselves ladies and gentlemen
The Algorithm Builders allow to design trading systems quickly. What could takes days/weeks/months to find out... might be now within your reach in less than a few hours.
With a bit of practice, less than an hour might be enough per asset/timeframe to find a system that makes sense to you and adapted to your trading capital and psychology.
Assuming our users read our guides and are fully committed to learning a new way of trading - then we do guarantee you'll be able to design kick-ass trading systems that make sense.
"Making sense" doesn't mean at all it's guaranteed to win, it means you're the one defining the convergence of indicators, using your Algorithm Builder, and observe that most of the time - whenever there is a BUY signal, the candlesticks are going upwards - whenever there is a SELL signal, it's going downwards.
This is a necessary step to make real progress from a trading analyst perspective - and hopefully could lead to profits.
VII. Algorithm Builder versus the main trader enemy(=psychology)
This indicator has the goal to help solving one of the MAIN issues encountered by traders.
Most of traders realize, they can't perform with only 1 indicator (or 1 price pattern or 1 price action) and need a combination of multiple indicators before getting in a trade.
Far from being a magic pill, if it could at least reduce the stress you have while trading, then we'll consider we made a great job - it's a technical "useless noise remover", and needs to be followed strictly.
Such trust in a trading system can only be built by testing your Algorithm Builder configuration on either:
1. a demo account
2. or a live account with small bids. And then, increasing progressively the bids if your capital increases progressively.
Though, you should still use your common sense. (for instance: if we get a BUY signal right on a big timeframe resistance we're hitting for the first time).
I'm aware this is a new way of trading but for many, and while we cannot foresee the future, neither predict performance, we believe it might save you a lot of time to find good signals.
My maximum level of happiness will be reached the day when our users will contact me and showing me setups being mine.
I'm sure that even I can learn from my users and, we can all learn from each other Algorithm Builder configuration
VIII. What is a wrong or bad configuration?
Simply put. If you see that most of your signals react such as described below:
1. a buy triangle/diamond predicts, most of the time an upwards move
2. a sell triangle/diamond predicts, most of the time a downwards move
3. you estimated yourself the stop-loss needed to give enough room for your trades.
4. take profits based on algorithmic support and resistances or your own take profit method.
So what's a good Algorithm Builder configuration? A configuration you're happy with and makes sense.
A better Algorithm Builder setup is one used in demo or a live account w/ small bids for a few weeks, and you're consistent in your trading performance.
If you have any doubt or question, please hit me up directly or ask in the comments section of this script.
I'll never claim I have the best trading methodology or the best indicators. You only will be the judge, and I'll appreciate all the questions and feedback you're sending my way.
They help me a ton to develop indicators based on all the requests I received.
Kind regards,
Dave
Optimized ADX DI CCI Strategy### Key Features:
- Combines ADX, DI+/-, CCI, and RSI for signal generation.
- Supports customizable timeframes for indicators.
- Offers multiple exit conditions (Moving Average cross, ADX change, performance-based stop-loss).
- Tracks and displays trade statistics (e.g., win rate, capital growth, profit factor).
- Visualizes trades with labels and optional background coloring.
- Allows countertrading (opening an opposite trade after closing one).
1. **Indicator Calculation**:
- **ADX and DI+/-**: Calculated using the `ta.dmi` function with user-defined lengths for DI and ADX smoothing.
- **CCI**: Computed using the `ta.cci` function with a configurable source (default: `hlc3`) and length.
- **RSI (optional)**: Calculated using the `ta.rsi` function to filter overbought/oversold conditions.
- **Moving Averages**: Used for CCI signal smoothing and trade exits, with support for SMA, EMA, SMMA (RMA), WMA, and VWMA.
2. **Signal Generation**:
- **Buy Signal**: Triggered when DI+ > DI- (or DI+ crosses over DI-), CCI > MA (or CCI crosses over MA), and optional ADX/RSI filters are satisfied.
- **Sell Signal**: Triggered when DI+ < DI- (or DI- crosses over DI+), CCI < MA (or CCI crosses under MA), and optional ADX/RSI filters are satisfied.
3. **Trade Execution**:
- **Entry**: Long or short trades are opened using `strategy.entry` when signals are detected, provided trading is allowed (`allow_long`/`allow_short`) and equity is positive.
- **Exit**: Trades can be closed based on:
- Opposite signal (if no other exit conditions are used).
- MA cross (price crossing below/above the exit MA for long/short trades).
- ADX percentage change exceeding a threshold.
- Performance-based stop-loss (trade loss exceeding a percentage).
- **Countertrading**: If enabled, closing a trade triggers an opposite trade (e.g., closing a long opens a short).
4. **Visualization**:
- Labels are plotted at trade entries/exits (e.g., "BUY," "SELL," arrows).
- Optional background coloring highlights open trades (green for long, red for short).
- A statistics table displays real-time metrics (e.g., capital, win rates).
5. **Trade Tracking**:
- Tracks the number of long/short trades, wins, and overall performance.
- Monitors equity to prevent trading if it falls to zero.
### 2.3 Key Components
- **Indicator Calculations**: Uses `request.security` to fetch indicator data for the specified timeframe.
- **MA Function**: A custom `ma_func` handles different MA types for CCI and exit conditions.
- **Signal Logic**: Combines crossover/under checks with recent bar windows for flexibility.
- **Exit Conditions**: Multiple configurable exit strategies for risk management.
- **Statistics Table**: Updates dynamically with trade and capital metrics.
## 3. Configuration Options
The script provides extensive customization through input parameters, grouped for clarity in the TradingView settings panel. Below is a detailed breakdown of each setting and its impact.
### 3.1 Strategy Settings (Global)
- **Initial Capital**: Default `10000`. Sets the starting capital for backtesting.
- **Effect**: Determines the base equity for calculating position sizes and performance metrics.
- **Default Quantity Type**: `strategy.percent_of_equity` (50% of equity).
- **Effect**: Controls the size of each trade as a percentage of available equity.
- **Pyramiding**: Default `2`. Allows up to 2 simultaneous trades in the same direction.
- **Effect**: Enables multiple entries if conditions are met, increasing exposure.
- **Commission**: 0.2% per trade.
- **Effect**: Simulates trading fees, reducing net profit in backtesting.
- **Margin**: 100% for long and short trades.
- **Effect**: Assumes no leverage; adjust for margin trading simulations.
- **Calc on Every Tick**: `true`.
- **Effect**: Ensures real-time signal updates for precise execution.
### 3.2 Indicator Settings
- **Indicator Timeframe** (`indicator_timeframe`):
- **Options**: `""` (chart timeframe), `1`, `5`, `15`, `30`, `60`, `240`, `D`, `W`.
- **Default**: `""` (uses chart timeframe).
- **Effect**: Determines the timeframe for ADX, DI, CCI, and RSI calculations. A higher timeframe reduces noise but may delay signals.
### 3.3 ADX & DI Settings
- **DI Length** (`adx_di_len`):
- **Default**: `30`.
- **Range**: Minimum `1`.
- **Effect**: Sets the period for calculating DI+ and DI-. Longer periods smooth trends but reduce sensitivity.
- **ADX Smoothing Length** (`adx_smooth_len`):
- **Default**: `14`.
- **Range**: Minimum `1`.
- **Effect**: Smooths the ADX calculation. Longer periods produce smoother ADX values.
- **Use ADX Filter** (`use_adx_filter`):
- **Default**: `false`.
- **Effect**: If `true`, requires ADX to exceed the threshold for signals to be valid, filtering out weak trends.
- **ADX Threshold** (`adx_threshold`):
- **Default**: `25`.
- **Range**: Minimum `0`.
- **Effect**: Sets the minimum ADX value for valid signals when the filter is enabled. Higher values restrict trades to stronger trends.
### 3.4 CCI Settings
- **CCI Length** (`cci_length`):
- **Default**: `20`.
- **Range**: Minimum `1`.
- **Effect**: Sets the period for CCI calculation. Longer periods reduce noise but may lag.
- **CCI Source** (`cci_src`):
- **Default**: `hlc3` (average of high, low, close).
- **Effect**: Defines the price data for CCI. `hlc3` is standard, but users can choose other sources (e.g., `close`).
- **CCI MA Type** (`ma_type`):
- **Options**: `SMA`, `EMA`, `SMMA (RMA)`, `WMA`, `VWMA`.
- **Default**: `SMA`.
- **Effect**: Determines the moving average type for CCI signal smoothing. EMA is more responsive; VWMA weights by volume.
- **CCI MA Length** (`ma_length`):
- **Default**: `14`.
- **Range**: Minimum `1`.
- **Effect**: Sets the period for the CCI MA. Longer periods smooth the MA but may delay signals.
### 3.5 RSI Filter Settings
- **Use RSI Filter** (`use_rsi_filter`):
- **Default**: `false`.
- **Effect**: If `true`, applies RSI-based overbought/oversold filters to signals.
- **RSI Length** (`rsi_length`):
- **Default**: `14`.
- **Range**: Minimum `1`.
- **Effect**: Sets the period for RSI calculation. Longer periods reduce sensitivity.
- **RSI Lower Limit** (`rsi_lower_limit`):
- **Default**: `30`.
- **Range**: `0` to `100`.
- **Effect**: Defines the oversold threshold for buy signals. Lower values allow trades in more extreme conditions.
- **RSI Upper Limit** (`rsi_upper_limit`):
- **Default**: `70`.
- **Range**: `0` to `100`.
- **Effect**: Defines the overbought threshold for sell signals. Higher values allow trades in more extreme conditions.
### 3.6 Signal Settings
- **Cross Window** (`cross_window`):
- **Default**: `0`.
- **Range**: `0` to `5` bars.
- **Effect**: Specifies the lookback period for detecting DI+/- or CCI crosses. `0` requires crosses on the current bar; higher values allow recent crosses, increasing signal frequency.
- **Allow Long Trades** (`allow_long`):
- **Default**: `true`.
- **Effect**: Enables/disables new long trades. If `false`, only closing existing longs is allowed.
- **Allow Short Trades** (`allow_short`):
- **Default**: `true`.
- **Effect**: Enables/disables new short trades. If `false`, only closing existing shorts is allowed.
- **Require DI+/DI- Cross for Buy** (`buy_di_cross`):
- **Default**: `true`.
- **Effect**: If `true`, requires a DI+ crossover DI- for buy signals; if `false`, DI+ > DI- is sufficient.
- **Require CCI Cross for Buy** (`buy_cci_cross`):
- **Default**: `true`.
- **Effect**: If `true`, requires a CCI crossover MA for buy signals; if `false`, CCI > MA is sufficient.
- **Require DI+/DI- Cross for Sell** (`sell_di_cross`):
- **Default**: `true`.
- **Effect**: If `true`, requires a DI- crossover DI+ for sell signals; if `false`, DI+ < DI- is sufficient.
- **Require CCI Cross for Sell** (`sell_cci_cross`):
- **Default**: `true`.
- **Effect**: If `true`, requires a CCI crossunder MA for sell signals; if `false`, CCI < MA is sufficient.
- **Countertrade** (`countertrade`):
- **Default**: `true`.
- **Effect**: If `true`, closing a trade triggers an opposite trade (e.g., close long, open short) if allowed.
- **Color Background for Open Trades** (`color_background`):
- **Default**: `true`.
- **Effect**: If `true`, colors the chart background green for long trades and red for short trades.
### 3.7 Exit Settings
- **Use MA Cross for Exit** (`use_ma_exit`):
- **Default**: `true`.
- **Effect**: If `true`, closes trades when the price crosses the exit MA (below for long, above for short).
- **MA Length for Exit** (`ma_exit_length`):
- **Default**: `20`.
- **Range**: Minimum `1`.
- **Effect**: Sets the period for the exit MA. Longer periods delay exits.
- **MA Type for Exit** (`ma_exit_type`):
- **Options**: `SMA`, `EMA`, `SMMA (RMA)`, `WMA`, `VWMA`.
- **Default**: `SMA`.
- **Effect**: Determines the MA type for exit signals. EMA is more responsive; VWMA weights by volume.
- **Use ADX Change Stop-Loss** (`use_adx_stop`):
- **Default**: `false`.
- **Effect**: If `true`, closes trades when the ADX changes by a specified percentage.
- **ADX % Change for Stop-Loss** (`adx_change_percent`):
- **Default**: `5.0`.
- **Range**: Minimum `0.0`, step `0.1`.
- **Effect**: Specifies the percentage change in ADX (vs. previous bar) that triggers a stop-loss. Higher values reduce premature exits.
- **Use Performance Stop-Loss** (`use_perf_stop`):
- **Default**: `false`.
- **Effect**: If `true`, closes trades when the loss exceeds a percentage threshold.
- **Performance Stop-Loss (%)** (`perf_stop_percent`):
- **Default**: `-10.0`.
- **Range**: `-100.0` to `0.0`, step `0.1`.
- **Effect**: Specifies the loss percentage that triggers a stop-loss. More negative values allow larger losses before exiting.
## 4. Visual and Statistical Output
- **Labels**: Displayed at trade entries/exits with arrows (↑ for buy, ↓ for sell) and text ("BUY," "SELL"). A "No Equity" label appears if equity is zero.
- **Background Coloring**: Optionally colors the chart background (green for long, red for short) to indicate open trades.
- **Statistics Table**: Displayed at the top center of the chart, updated on timeframe changes or trade events. Includes:
- **Capital Metrics**: Initial capital, current capital, capital growth (%).
- **Trade Metrics**: Total trades, long/short trades, win rate, long/short win rates, profit factor.
- **Open Trade Status**: Indicates if a long, short, or no trade is open.
## 5. Alerts
- **Buy Signal Alert**: Triggered when `buy_signal` is true ("Cross Buy Signal").
- **Sell Signal Alert**: Triggered when `sell_signal` is true ("Cross Sell Signal").
- **Usage**: Users can set up TradingView alerts to receive notifications for trade signals.
BRT T3 for BTC 1h [STRATEGY]## 📊 BRT T3 Adaptive Strategy for BTC 1H
STRATEGY DESCRIPTION
Professional trading strategy based on the adaptive T3 (Tillson T3) indicator with dynamic length controlled by the Relative Strength Index (RSI) . The strategy is specifically designed for Bitcoin trading on the hourly timeframe and includes a comprehensive filter system to minimize false signals.
═════════════════════════════════════════
🔥 UNIQUE CODE FEATURES
1. RSI-Adaptive Architecture:
• Innovative Approach: Unlike standard MA strategies with fixed periods, our code dynamically adjusts the moving average length based on RSI
• Smart Formula: len = minLen + (maxLen - minLen) * (1 - RSI/100) - automatically accelerates response in extreme zones
• Result: Strategy adapts to market conditions without manual reconfiguration
2. Modified Ichimoku Cloud:
• Unique Calculation: Instead of classic high/low, uses ATR-based method
• Dynamic Levels: Cloud is built based on volatility, not fixed periods
• Advantage: More accurate trend determination in highly volatile cryptocurrency markets
3. Hybrid Signal System:
• Dual-mode Generation: Switch between classic MA crossovers and volatility band breakouts
• Multi-stage Confirmation: Optional signal verification across N forward bars
• Effect: 40-60% reduction in false signals compared to simple MA strategies
4. All-in-One Solution:
• 8 MA Types in One Code: The only strategy on TradingView with complete implementation of T3, EMA, SMA, WMA, VWMA, HMA, RMA, DEMA
• Custom Functions: All MAs calculated through custom functions supporting series int
• Versatility: One code replaces 8 different strategies
5. Intelligent Filtering:
Combination of 4 independent filters:
├── Volume Filter (dynamic multiplier)
├── Trend Filter (adaptive period)
├── ATR Filter (volatility)
└── Ichimoku Filter (cloud trend)
• Unique Logic: Each filter can work independently or in combination
• Master Switch: Single control for all filters
6. Advanced Risk Management:
• Smart Stops: SL/TP levels are stored in variables and not recalculated on every bar
• Slippage Protection: Checks both close and high/low for stop triggers
• Visualization: Dynamic display of levels only for active positions
7. Performance Optimization:
• Efficient Loops: Minimized calculations through intermediate result storage
• Conditional Visualization: Element rendering only when necessary
• Clean Code: Structured organization with clear logical block separation
═════════════════════════════════════════
💎 TECHNICAL INNOVATIONS
Adaptation Algorithm (exclusive development):
// Dynamic length based on RSI
rsi_scale = 1.0 - rsi / 100.0
len_adaptive = minLen + (maxLen - minLen) * rsi_scale
ATR-based Ichimoku (unique modification):
// Instead of classic (highest + lowest) / 2
// Using ATR for dynamic levels
upper := close < upper ? min(hl2 + atr*mult, upper ) : hl2 + atr*mult
lower := close > lower ? max(hl2 - atr*mult, lower ) : hl2 - atr*mult
Multi-MA Architecture (complete implementation):
• Each MA type has its own optimized function
• Support for series int for dynamic length
• Unified selection interface via switch statement
═════════════════════════════════════════
🎯 KEY FEATURES
• Adaptive System: Moving average length automatically adjusts based on RSI, providing quick response in trending movements and stability in sideways markets
• 8 Moving Average Types: T3, EMA, SMA, WMA, VWMA, HMA, RMA, DEMA - ability to choose the optimal type for different market conditions
• Multi-level Filtering:
- Volume Filter - signal confirmation with increased activity
- Trend Filter - trading in the direction of the main trend
- ATR Filter - accounting for market volatility
- Ichimoku Cloud - additional trend direction confirmation
• Professional Risk Management: Customizable stop-loss and take-profit levels
═════════════════════════════════════════
⚙️ HOW IT WORKS
1. Signal Generation:
• Original Mode: Classic MA crossover signals with lagged version
• Band Break Mode: Volatility band breakouts (based on standard deviation)
2. RSI Adaptation:
• High RSI (overbought) → uses short MA length for quick response
• Low RSI (oversold) → uses long MA for noise smoothing
• Adaptation range is configured by Min/Max length parameters
3. Filter System:
• Each filter can be enabled/disabled independently
• Signal is generated only when passing all active filters
• Ichimoku filter blocks counter-trend trades
═════════════════════════════════════════
📈 STRATEGY PARAMETERS
Main Settings:
• Strategy Type: Long Only / Short Only / Both
• Data Source: Close, Open, High, Low, HL2, HLC3, OHLC4
RSI Settings:
• RSI Length: Calculation period (default 14)
• RSI Smoothing: Smoothing to reduce noise
T3/MA Settings:
• Min/Max Length: Adaptive length range (5-50)
• Volume Factor: T3 smoothing coefficient (0.7)
• MA Type: Moving average type selection
Filters:
• Volume Filter: Volume multiplier (1.5x average)
• Trend Filter: Trend MA period (200)
• ATR Filter: Minimum volatility for entry
• Ichimoku Filter: Cloud for trend determination
Risk Management:
• Stop Loss: Percentage from entry price (1.2%)
• Take Profit: Percentage from entry price (5.9%)
• Position Size: 50,000 USDT (effective leverage 5x)
═════════════════════════════════════════
💡 USAGE RECOMMENDATIONS
Optimal Conditions:
• Timeframe: 1H (developed and optimized)
• Instrument: BTC/USDT and other liquid cryptocurrencies
• Market Conditions: Trending and moderately volatile markets
Customize to Your Style:
1. Conservative: Increase signal confirmation period, enable all filters
2. Aggressive: Reduce filters, use Band Break mode
3. Scalping: Decrease Min/Max length, disable trend filter
═════════════════════════════════════════
📊 VISUALIZATION
Strategy displays:
• Main MA Line - changes color depending on direction
• Lag Line - for visualizing crossover moment
• Volatility Bands - upper and lower boundaries
• Trend MA - orange line (200 periods)
• SL/TP Levels - red and green lines for open positions
═════════════════════════════════════════
🔔 ALERTS
Strategy supports alert configuration for:
• Long position entry signals
• Short position entry signals
• Position exit signals
• Ichimoku line crossings
═════════════════════════════════════════
⚠️ RISK WARNING
IMPORTANT NOTICE: Trading in financial markets involves substantial risk of capital loss. Past performance presented in this strategy is based solely on historical data and under no circumstances constitutes a guarantee of future returns.
The strategy author is not responsible for:
• Any direct or indirect financial losses resulting from the use of this strategy
• Trading decisions made based on strategy signals
• Interpretation of backtesting results as a forecast of future performance
This strategy is provided exclusively for educational and research purposes. Backtesting results are affected by numerous factors including but not limited to: slippage, spread, commissions, market liquidity, and technical failures.
Before using the strategy in live trading:
• Conduct your own testing on a demo account
• Ensure understanding of all parameters and logic
• Only use funds you can afford to lose
• Consider consulting with a qualified financial advisor
DISCLAIMER: By using this strategy, you acknowledge and accept all risks associated with financial market trading and confirm that the author does not provide investment advice and bears no fiduciary responsibility to users.
═════════════════════════════════════════
🛠 TECHNICAL SUPPORT
For questions about setup and optimization:
• Leave comments under the publication
• Follow strategy updates
• Study the code for deep understanding of logic
═════════════════════════════════════════
📝 VERSION AND UPDATES
Version: 1.0.0
Pine Script: v6
Last Updated: 2025
Changelog:
• Added support for 8 MA types
• Integrated Ichimoku Cloud filter
• Optimized risk management system
• Improved signal visualization
═════════════════════════════════════════
© 2025 BRT Trading Systems
Strategy is protected by copyright. Commercial use without author's permission is prohibited.
Recovery Zone Hedging [Starbots]Recovery Zone Hedging Strategy — Advanced Adaptive Hedge Recovery System
This strategy introduces an innovative zone-based hedge recovery approach tailored to TradingView’s single-direction trading model. Designed for serious traders and professionals, it combines multiple technical indicators with dynamic position sizing and adaptive take-profit mechanisms to manage drawdowns and maximize recovery efficiency.
How Recovery Zones Are Calculated
The strategy defines recovery zones as a configurable percentage distance from the last executed trade price. This percentage can be adjusted to suit different market volatility environments — wider zones for volatile assets, tighter zones for stable ones. When price moves into a recovery zone against the open position, the strategy places a hedge trade in the opposite direction to help recoup losses.
Dynamic Take-Profit Calculation
Take-profit targets are not fixed. Instead, they increase dynamically based on any accumulated losses from previous hedge trades. For example, if your initial target is 2%, but you have a $5 loss from prior hedges, the next take-profit target adjusts upward to cover both the loss and your profit goal, ensuring the entire hedge sequence closes in net profit.
Originality & Value
Unlike traditional hedging or recovery scripts that rely on static stop losses and fixed trade sizing, this strategy offers:
- Dynamic Hedge Entry Zones: Uses configurable percentage-based recovery zones that adapt to price volatility, allowing precise placement of hedge trades at meaningful reversal levels.
- Multi-Indicator Signal Fusion: Integrates MACD and Directional Movement Index (DMI) signals to confirm trade entries, improving signal accuracy and reducing false triggers.
- Exponential Position Sizing: Each hedge trade’s size grows exponentially using a customizable multiplier, accelerating loss recovery while carefully balancing capital usage.
- Adaptive Take-Profit Logic: The take-profit target adjusts dynamically based on accumulated losses and profit margins, ensuring that the entire hedge sequence closes with a net gain.
- Capital Usage Monitoring: A built-in dashboard tracks real-time equity consumption, preventing over-leveraging by highlighting critical capital thresholds.
- Fail-Safe Exit Mechanism: An optional forced exit beyond the last hedge zone protects capital in extreme market scenarios.
This strategy’s layered design and adaptive mechanisms provide a unique and powerful tool for traders seeking robust recovery systems beyond standard hedge or martingale methods.
How Components Work Together
- Entry Signals: The script listens for MACD line crossovers and DMI directional crosses to open an initial trade.
- Recovery Zones: If the market moves against the initial position, the strategy calculates a recovery zone a set percentage away and places a hedge trade in the opposite direction.
- Position Scaling: Each subsequent hedge trade increases in size exponentially according to the hedge multiplier, designed to recover all previous losses plus a profit.
- Take-Profit Target: Rather than a fixed target, the TP level is dynamically calculated considering current drawdown and desired profit margin, ensuring the entire hedge sequence closes profitably.
- Cycle Management: Trades alternate direction following the recovery zones until profit is realized or a maximum hedge count is reached. If needed, a forced stop-out limits risk exposure.
Key Benefits for Professional Traders
- Enhanced Risk Management: Real-time capital usage visualization helps maintain safe exposure levels.
- Strategic Hedge Recovery: The adaptive recovery zones and exponential sizing accelerate loss recoupment more efficiently than traditional fixed-step systems.
- Multi-Indicator Confirmation: Combining MACD and DMI reduces false signals and improves hedge timing accuracy.
- Versatility: Suitable for multiple timeframes and asset classes with adjustable parameters.
- Comprehensive Visuals: On-chart recovery zones, hedge levels, dynamic take-profits, and equity usage tables enable informed decision-making.
Recommended Settings & Use Cases
- Initial Position Size: 0.1–1% of account equity
- Recovery Zone Distance: 2–5% price movement
- Hedge Multiplier: 1.5–1.85x growth per hedge step
- Max Hedge Steps: 5–10 for controlled risk exposure
Ideal for trending markets where price retracements create viable recovery opportunities. Use caution in sideways markets to avoid extended hedge sequences.
Important Notes
- TradingView’s single-direction model means hedging is simulated via alternating trades.
- Position sizes grow rapidly—proper parameter tuning is essential to avoid over-leveraging.
This script is designed primarily for professional traders seeking an advanced, automated hedge recovery framework, offering superior capital efficiency and loss management.
VoVix DEVMA🌌 VoVix DEVMA: A Deep Dive into Second-Order Volatility Dynamics
Welcome to VoVix+, a sophisticated trading framework that transcends traditional price analysis. This is not merely another indicator; it is a complete system designed to dissect and interpret the very fabric of market volatility. VoVix+ operates on the principle that the most powerful signals are not found in price alone, but in the behavior of volatility itself. It analyzes the rate of change, the momentum, and the structure of market volatility to identify periods of expansion and contraction, providing a unique edge in anticipating major market moves.
This document will serve as your comprehensive guide, breaking down every mathematical component, every user input, and every visual element to empower you with a profound understanding of how to harness its capabilities.
🔬 THEORETICAL FOUNDATION: THE MATHEMATICS OF MARKET DYNAMICS
VoVix+ is built upon a multi-layered mathematical engine designed to measure what we call "second-order volatility." While standard indicators analyze price, and first-order volatility indicators (like ATR) analyze the range of price, VoVix+ analyzes the dynamics of the volatility itself. This provides insight into the market's underlying state of stability or chaos.
1. The VoVix Score: Measuring Volatility Thrust
The core of the system begins with the VoVix Score. This is a normalized measure of volatility acceleration or deceleration.
Mathematical Formula:
VoVix Score = (ATR(fast) - ATR(slow)) / (StDev(ATR(fast)) + ε)
Where:
ATR(fast) is the Average True Range over a short period, representing current, immediate volatility.
ATR(slow) is the Average True Range over a longer period, representing the baseline or established volatility.
StDev(ATR(fast)) is the Standard Deviation of the fast ATR, which measures the "noisiness" or consistency of recent volatility.
ε (epsilon) is a very small number to prevent division by zero.
Market Implementation:
Positive Score (Expansion): When the fast ATR is significantly higher than the slow ATR, it indicates a rapid increase in volatility. The market is "stretching" or expanding.
Negative Score (Contraction): When the fast ATR falls below the slow ATR, it indicates a decrease in volatility. The market is "coiling" or contracting.
Normalization: By dividing by the standard deviation, we normalize the score. This turns it into a standardized measure, allowing us to compare volatility thrust across different market conditions and timeframes. A score of 2.0 in a quiet market means the same, relatively, as a score of 2.0 in a volatile market.
2. Deviation Analysis (DEV): Gauging Volatility's Own Volatility
The script then takes the analysis a step further. It calculates the standard deviation of the VoVix Score itself.
Mathematical Formula:
DEV = StDev(VoVix Score, lookback_period)
Market Implementation:
This DEV value represents the magnitude of chaos or stability in the market's volatility dynamics. A high DEV value means the volatility thrust is erratic and unpredictable. A low DEV value suggests the change in volatility is smooth and directional.
3. The DEVMA Crossover: Identifying Regime Shifts
This is the primary signal generator. We take two moving averages of the DEV value.
Mathematical Formula:
fastDEVMA = SMA(DEV, fast_period)
slowDEVMA = SMA(DEV, slow_period)
The Core Signal:
The strategy triggers on the crossover and crossunder of these two DEVMA lines. This is a profound concept: we are not looking at a moving average of price or even of volatility, but a moving average of the standard deviation of the normalized rate of change of volatility.
Bullish Crossover (fastDEVMA > slowDEVMA): This signals that the short-term measure of volatility's chaos is increasing relative to the long-term measure. This often precedes a significant market expansion and is interpreted as a bullish volatility regime.
Bearish Crossunder (fastDEVMA < slowDEVMA): This signals that the short-term measure of volatility's chaos is decreasing. The market is settling down or contracting, often leading to trending moves or range consolidation.
⚙️ INPUTS MENU: CONFIGURING YOUR ANALYSIS ENGINE
Every input has been meticulously designed to give you full control over the strategy's behavior. Understanding these settings is key to adapting VoVix+ to your specific instrument, timeframe, and trading style.
🌀 VoVix DEVMA Configuration
🧬 Deviation Lookback: This sets the lookback period for calculating the DEV value. It defines the window for measuring the stability of the VoVix Score. A shorter value makes the system highly reactive to recent changes in volatility's character, ideal for scalping. A longer value provides a smoother, more stable reading, better for identifying major, long-term regime shifts.
⚡ Fast VoVix Length: This is the lookback period for the fastDEVMA. It represents the short-term trend of volatility's chaos. A smaller number will result in a faster, more sensitive signal line that reacts quickly to market shifts.
🐌 Slow VoVix Length: This is the lookback period for the slowDEVMA. It represents the long-term, baseline trend of volatility's chaos. A larger number creates a more stable, slower-moving anchor against which the fast line is compared.
How to Optimize: The relationship between the Fast and Slow lengths is crucial. A wider gap (e.g., 20 and 60) will result in fewer, but potentially more significant, signals. A narrower gap (e.g., 25 and 40) will generate more frequent signals, suitable for more active trading styles.
🧠 Adaptive Intelligence
🧠 Enable Adaptive Features: When enabled, this activates the strategy's performance tracking module. The script will analyze the outcome of its last 50 trades to calculate a dynamic win rate.
⏰ Adaptive Time-Based Exit: If Enable Adaptive Features is on, this allows the strategy to adjust its Maximum Bars in Trade setting based on performance. It learns from the average duration of winning trades. If winning trades tend to be short, it may shorten the time exit to lock in profits. If winners tend to run, it will extend the time exit, allowing trades more room to develop. This helps prevent the strategy from cutting winning trades short or holding losing trades for too long.
⚡ Intelligent Execution
📊 Trade Quantity: A straightforward input that defines the number of contracts or shares for each trade. This is a fixed value for consistent position sizing.
🛡️ Smart Stop Loss: Enables the dynamic stop-loss mechanism.
🎯 Stop Loss ATR Multiplier: Determines the distance of the stop loss from the entry price, calculated as a multiple of the current 14-period ATR. A higher multiplier gives the trade more room to breathe but increases risk per trade. A lower multiplier creates a tighter stop, reducing risk but increasing the chance of being stopped out by normal market noise.
💰 Take Profit ATR Multiplier: Sets the take profit target, also as a multiple of the ATR. A common practice is to set this higher than the Stop Loss multiplier (e.g., a 2:1 or 3:1 reward-to-risk ratio).
🏃 Use Trailing Stop: This is a powerful feature for trend-following. When enabled, instead of a fixed stop loss, the stop will trail behind the price as the trade moves into profit, helping to lock in gains while letting winners run.
🎯 Trail Points & 📏 Trail Offset ATR Multipliers: These control the trailing stop's behavior. Trail Points defines how much profit is needed before the trail activates. Trail Offset defines how far the stop will trail behind the current price. Both are based on ATR, making them fully adaptive to market volatility.
⏰ Maximum Bars in Trade: This is a time-based stop. It forces an exit if a trade has been open for a specified number of bars, preventing positions from being held indefinitely in stagnant markets.
⏰ Session Management
These inputs allow you to confine the strategy's trading activity to specific market hours, which is crucial for day trading instruments that have defined high-volume sessions (e.g., stock market open).
🎨 Visual Effects & Dashboard
These toggles give you complete control over the on-chart visuals and the dashboard. You can disable any element to declutter your chart or focus only on the information that matters most to you.
📊 THE DASHBOARD: YOUR AT-A-GLANCE COMMAND CENTER
The dashboard centralizes all critical information into one compact, easy-to-read panel. It provides a real-time summary of the market state and strategy performance.
🎯 VOVIX ANALYSIS
Fast & Slow: Displays the current numerical values of the fastDEVMA and slowDEVMA. The color indicates their direction: green for rising, red for falling. This lets you see the underlying momentum of each line.
Regime: This is your most important environmental cue. It tells you the market's current state based on the DEVMA relationship. 🚀 EXPANSION (Green) signifies a bullish volatility regime where explosive moves are more likely. ⚛️ CONTRACTION (Purple) signifies a bearish volatility regime, where the market may be consolidating or entering a smoother trend.
Quality: Measures the strength of the last signal based on the magnitude of the DEVMA difference. An ELITE or STRONG signal indicates a high-conviction setup where the crossover had significant force.
PERFORMANCE
Win Rate & Trades: Displays the historical win rate of the strategy from the backtest, along with the total number of closed trades. This provides immediate feedback on the strategy's historical effectiveness on the current chart.
EXECUTION
Trade Qty: Shows your configured position size per trade.
Session: Indicates whether trading is currently OPEN (allowed) or CLOSED based on your session management settings.
POSITION
Position & PnL: Displays your current position (LONG, SHORT, or FLAT) and the real-time Profit or Loss of the open trade.
🧠 ADAPTIVE STATUS
Stop/Profit Mult: In this simplified version, these are placeholders. The primary adaptive feature currently modifies the time-based exit, which is reflected in how long trades are held on the chart.
🎨 THE VISUAL UNIVERSE: DECIPHERING MARKET GEOMETRY
The visuals are not mere decorations; they are geometric representations of the underlying mathematical concepts, designed to give you an intuitive feel for the market's state.
The Core Lines:
FastDEVMA (Green/Maroon Line): The primary signal line. Green when rising, indicating an increase in short-term volatility chaos. Maroon when falling.
SlowDEVMA (Aqua/Orange Line): The baseline. Aqua when rising, indicating a long-term increase in volatility chaos. Orange when falling.
🌊 Morphism Flow (Flowing Lines with Circles):
What it represents: This visualizes the momentum and strength of the fastDEVMA. The width and intensity of the "beam" are proportional to the signal strength.
Interpretation: A thick, steep, and vibrant flow indicates powerful, committed momentum in the current volatility regime. The floating '●' particles represent kinetic energy; more particles suggest stronger underlying force.
📐 Homotopy Paths (Layered Transparent Boxes):
What it represents: These layered boxes are centered between the two DEVMA lines. Their height is determined by the DEV value.
Interpretation: This visualizes the overall "volatility of volatility." Wider boxes indicate a chaotic, unpredictable market. Narrower boxes suggest a more stable, predictable environment.
🧠 Consciousness Field (The Grid):
What it represents: This grid provides a historical lookback at the DEV range.
Interpretation: It maps the recent "consciousness" or character of the market's volatility. A consistently wide grid suggests a prolonged period of chaos, while a narrowing grid can signal a transition to a more stable state.
📏 Functorial Levels (Projected Horizontal Lines):
What it represents: These lines extend from the current fastDEVMA and slowDEVMA values into the future.
Interpretation: Think of these as dynamic support and resistance levels for the volatility structure itself. A crossover becomes more significant if it breaks cleanly through a prior established level.
🌊 Flow Boxes (Spaced Out Boxes):
What it represents: These are compact visual footprints of the current regime, colored green for Expansion and red for Contraction.
Interpretation: They provide a quick, at-a-glance confirmation of the dominant volatility flow, reinforcing the background color.
Background Color:
This provides an immediate, unmistakable indication of the current volatility regime. Light Green for Expansion and Light Aqua/Blue for Contraction, allowing you to assess the market environment in a split second.
📊 BACKTESTING PERFORMANCE REVIEW & ANALYSIS
The following is a factual, transparent review of a backtest conducted using the strategy's default settings on a specific instrument and timeframe. This information is presented for educational purposes to demonstrate how the strategy's mechanics performed over a historical period. It is crucial to understand that these results are historical, apply only to the specific conditions of this test, and are not a guarantee or promise of future performance. Market conditions are dynamic and constantly change.
Test Parameters & Conditions
To ensure the backtest reflects a degree of real-world conditions, the following parameters were used. The goal is to provide a transparent baseline, not an over-optimized or unrealistic scenario.
Instrument: CME E-mini Nasdaq 100 Futures (NQ1!)
Timeframe: 5-Minute Chart
Backtesting Range: March 24, 2024, to July 09, 2024
Initial Capital: $100,000
Commission: $0.62 per contract (A realistic cost for futures trading).
Slippage: 3 ticks per trade (A conservative setting to account for potential price discrepancies between order placement and execution).
Trade Size: 1 contract per trade.
Performance Overview (Historical Data)
The test period generated 465 total trades , providing a statistically significant sample size for analysis, which is well above the recommended minimum of 100 trades for a strategy evaluation.
Profit Factor: The historical Profit Factor was 2.663 . This metric represents the gross profit divided by the gross loss. In this test, it indicates that for every dollar lost, $2.663 was gained.
Percent Profitable: Across all 465 trades, the strategy had a historical win rate of 84.09% . While a high figure, this is a historical artifact of this specific data set and settings, and should not be the sole basis for future expectations.
Risk & Trade Characteristics
Beyond the headline numbers, the following metrics provide deeper insight into the strategy's historical behavior.
Sortino Ratio (Downside Risk): The Sortino Ratio was 6.828 . Unlike the Sharpe Ratio, this metric only measures the volatility of negative returns. A higher value, such as this one, suggests that during this test period, the strategy was highly efficient at managing downside volatility and large losing trades relative to the profits it generated.
Average Trade Duration: A critical characteristic to understand is the strategy's holding period. With an average of only 2 bars per trade , this configuration operates as a very short-term, or scalping-style, system. Winning trades averaged 2 bars, while losing trades averaged 4 bars. This indicates the strategy's logic is designed to capture quick, high-probability moves and exit rapidly, either at a profit target or a stop loss.
Conclusion and Final Disclaimer
This backtest demonstrates one specific application of the VoVix+ framework. It highlights the strategy's behavior as a short-term system that, in this historical test on NQ1!, exhibited a high win rate and effective management of downside risk. Users are strongly encouraged to conduct their own backtests on different instruments, timeframes, and date ranges to understand how the strategy adapts to varying market structures. Past performance is not indicative of future results, and all trading involves significant risk.
🔧 THE DEVELOPMENT PHILOSOPHY: FROM VOLATILITY TO CLARITY
The journey to create VoVix+ began with a simple question: "What drives major market moves?" The answer is often not a change in price direction, but a fundamental shift in market volatility. Standard indicators are reactive to price. We wanted to create a system that was predictive of market state. VoVix+ was designed to go one level deeper—to analyze the behavior, character, and momentum of volatility itself.
The challenge was twofold. First, to create a robust mathematical model to quantify these abstract concepts. This led to the multi-layered analysis of ATR differentials and standard deviations. Second, to make this complex data intuitive and actionable. This drove the creation of the "Visual Universe," where abstract mathematical values are translated into geometric shapes, flows, and fields. The adaptive system was intentionally kept simple and transparent, focusing on a single, impactful parameter (time-based exits) to provide performance feedback without becoming an inscrutable "black box." The result is a tool that is both profoundly deep in its analysis and remarkably clear in its presentation.
⚠️ RISK DISCLAIMER AND BEST PRACTICES
VoVix+ is an advanced analytical tool, not a guarantee of future profits. All financial markets carry inherent risk. The backtesting results shown by the strategy are historical and do not guarantee future performance. This strategy incorporates realistic commission and slippage settings by default, but market conditions can vary. Always practice sound risk management, use position sizes appropriate for your account equity, and never risk more than you can afford to lose. It is recommended to use this strategy as part of a comprehensive trading plan. This was developed specifically for Futures
"The prevailing wisdom is that markets are always right. I take the opposite view. I assume that markets are always wrong. Even if my assumption is occasionally wrong, I use it as a working hypothesis."
— George Soros
— Dskyz, Trade with insight. Trade with anticipation.
Dskyz Adaptive Futures Edge (DAFE)imgur.com/a/igj9lFj
Dskyz Adaptive Futures Edge (DAFE) is a futures trading strategy designed to adapt dynamically to market volatility and price action using a blend of technical indicators. The strategy combines adaptive moving averages, optional RSI filtering, candlestick pattern recognition, and multi-timeframe trend analysis to generate long and short trade signals. It incorporates robust risk management techniques including ATR-based stop-losses and trailing stops, ensuring trades are sized and managed within sustainable risk limits.
Key Components and Logic
-Adaptive Moving Averages
Dynamic Calculation: Fast and slow Simple Moving Averages (SMAs) adapt to changing volatility, making them sensitive to high-momentum shifts and smoothing during quieter price action.
Signal Generation: Entry signals are triggered when the fast SMA crosses the slow SMA in conjunction with price direction confirmation (e.g., price above both for long positions).
-RSI Filtering (Optional)
Momentum Confirmation: The RSI filter provides momentum confirmation to avoid overextended entries. It can be toggled on or off for both long and short conditions.
User Control: Adjustable parameters such as lookback period, oversold/overbought thresholds, and enable/disable switches give full control over its influence.
-Candlestick Pattern Recognition
Engulfing Logic: Recognizes strong bullish or bearish engulfing patterns with configurable strength criteria like range and volume. Patterns are filtered by trend direction and strength for confirmation.
Signal Conflict Handling: When both bullish and bearish engulfing patterns occur within the lookback window, the strategy avoids entry to reduce whipsaws in indecisive markets.
-Multi-Timeframe Trend Filter
Higher Timeframe Filtering: Incorporates 15-minute trend direction as a macro-level filter to align intrabar trades with larger trend momentum.
Smoothed Entry Logic: Prevents entering trades that go against the broader market structure, reducing false signals in choppy or low-conviction moves.
-Trade Execution and Risk Management
imgur.com
Entry Logic
Priority System: Users can define whether moving average signals or candlestick patterns should take priority when both are present.
Volume & Volatility Checks: Ensures sufficient market participation and action before entering a position, improving the odds of reliable follow-through.
Stop-Loss and Trailing Exit
ATR-Based Initial Stops: Dynamically adjusts stop-loss distance based on market volatility using a multiple of ATR (Average True Range), keeping risk proportional to price swings.
Trailing Stop: Protects open profits and enables winners to run by following price action at a set distance (also ATR-based).
-Cooldown Period & Minimum Bar Hold (Trade Discipline Logic)
Cooldown Bars: After an exit, the strategy imposes a mandatory pause before opening a new position.
Why: This avoids rapid-fire re-entries triggered by minor fluctuations that could lead to overtrading and degradation of profitability.
Minimum Bar Hold: A trade must be held for a minimum number of bars before it can be exited.
Why: This prevents the strategy from immediately exiting trades due to fleeting volatility spikes, which previously caused premature exits that often reversed back in favor of the original signal. This ensures trades have adequate time to develop, filtering out noise from true reversals.
-Visual Elements and Transparency Tools
Chart Overlays: Moving averages, RSI values, and trade entry/exit points are shown directly on the chart for complete visibility.
Dashboard UI: Displays critical live metrics—current position, PnL, time held, ATR values, etc.
Debug Logs: Optional toggles allow verbose condition tracking for deep inspection into why a trade occurred (or didn't), useful for both live optimization and debugging.
-Input Parameter Reference Guide
Input Name Function & Suggested Use
Use RSI Filter - Enables or disables RSI-based entry confirmation. Disable if price action alone is desired for entry decisions.
RSI Length - RSI lookback period. Lower values (e.g., 7–14) are more responsive; higher values reduce false signals.
Overbought / Oversold Levels - Used to detect exhaustion zones. E.g., avoid long entries above 70 or short entries below 30.
Use Candlestick Patterns - Enable detection of bullish/bearish engulfing patterns as trade signals. Disable to rely only on trend/MA.
Pattern Strength Thresholds (Range, Volume) - Filters out weak engulfing signals. Higher values require stronger patterns to trigger.
Use 15min Trend Filter - Adds multi-timeframe trend confirmation. Recommended for filtering entries against larger trend direction.
Fast MA - Base Length for fast adaptive moving average. Suggested: 10–25.
Slow MA - Base length for slow adaptive moving average. Suggested: 30–60.
Volatility Sensitivity Multiplier - Multiplies volatility adjustments for adaptive MA length. Higher = more reactive to volatility.
Entry Volume Filter - Filters out trades during low volume. Recommended to prevent entries in illiquid conditions.
ATR Length - Lookback period for ATR calculation. Suggested: 14.
Trailing Stop ATR Offset - Defines how far the stop-loss is from entry. 1.5–2.5 is typical for medium-volatility environments.
Trailing Stop ATR Multiplier - Determines trailing stop distance. 1.5 is tight; 3+ gives more room for trending trades.
Cooldown Bars After Exit - Prevents immediate re-entries. Suggested: 3–10 bars depending on timeframe.
Minimum Bars to Hold Trade - Ensures trades are held long enough to avoid knee-jerk exits. Suggested: 5–10 for intraday strategies.
Trading Hours (Start / End) - Sets the window of allowed trading. Prevents entries outside key session times (e.g., avoid pre-market).
Enable Logging / Debugging - Shows internal trade decision data for tuning and understanding the logic.
Compliance with TradingView Regulations
Realistic Backtesting: The strategy uses proper initial capital, fixed trade quantities, and risk parameters to reflect realistic scenarios.
Transparent Trade Logic: Every condition used for signal generation is documented and controllable by the user. Users can view each signal's rationale.
Risk Mitigation: Cooldown bars, ATR stops, and minimum trade duration ensure the strategy behaves predictably and prevents reckless trade behavior.
Customization: Full control over each module (MA, RSI, Candlestick, Trend, etc.) gives users the ability to tailor the strategy to suit various futures contracts or timeframes.
imgur.com
imgur.com
imgur.com
imgur.com
imgur.com
Summary
DAFE was built for high-stakes micro futures trading environments such as the MNQ, where milliseconds of volatility matter. This strategy's modular architecture, adaptive logic, and advanced risk controls make it an ideal framework for scalpers and swing traders alike.
BTCUSDT.P
Backtesting: www.dropbox.com
Deep Backtesting:
www.dropbox.com
****Currently testing on a prop account.
Caution Statement
This strategy is designed for educational and experimental purposes and should not be considered financial advice or a guaranteed method of profitability. While the DAFE (Dskyz Adaptive Futures Edge) strategy incorporates advanced filters, adaptive logic, and volatility-based risk management, its performance is subject to market conditions, data accuracy, and user configuration.
Futures trading involves substantial risk, and the leverage inherent in futures contracts can amplify both gains and losses. This strategy may execute trades rapidly and frequently under certain conditions—particularly when filters are disabled or thresholds are set too tightly—potentially leading to increased slippage, commissions, or unanticipated losses.
Users are strongly advised to:
Backtest thoroughly across various market regimes.
Adjust parameters responsibly and understand the implication of each input.
Paper trade in a simulated environment before going live.
Monitor trades actively and use discretion when market volatility increases.
-By using this strategy, you accept all risks and responsibility for any trading decisions made based on its output.
Keltner Channel StrategyOverview
The Keltner Channel Strategy is a powerful trend-following and mean-reversion system that leverages the Keltner Channels, EMA crossovers, and ATR-based stop-losses to optimize trade entries and exits. This strategy has proven to be highly effective, particularly when applied to Gold (XAUUSD) and other commodities with strong trend characteristics.
📈 How It Works
This strategy incorporates two trading approaches: 1️⃣ Keltner Channel Reversal Trades – Identifies overbought and oversold conditions when price touches the outer bands.
2️⃣ Trend Following Trades – Uses the 9 EMA & 21 EMA crossover, with confirmation from the 50 EMA, to enter trades in the direction of the trend.
🔍 Entry & Exit Criteria
📊 Keltner Channel Entries (Reversal Strategy)
✅ Long Entry: When the price crosses below the lower Keltner Band (potential reversal).
✅ Short Entry: When the price crosses above the upper Keltner Band (potential reversal).
⏳ Exit Conditions:
Long positions close when price crosses back above the mid-band (EMA-based).
Short positions close when price crosses back below the mid-band (EMA-based).
📈 Trend Following Entries (Momentum Strategy)
✅ Long Entry: When the 9 EMA crosses above the 21 EMA, and price is above the 50 EMA (bullish momentum).
✅ Short Entry: When the 9 EMA crosses below the 21 EMA, and price is below the 50 EMA (bearish momentum).
⏳ Exit Conditions:
Long positions close when the 9 EMA crosses back below the 21 EMA.
Short positions close when the 9 EMA crosses back above the 21 EMA.
📌 Risk Management & Profit Targeting
ATR-based Stop-Losses:
Long trades: Stop set at 1.5x ATR below entry price.
Short trades: Stop set at 1.5x ATR above entry price.
Take-Profit Levels:
Long trades: Profit target 2x ATR above entry price.
Short trades: Profit target 2x ATR below entry price.
🚀 Why Use This Strategy?
✅ Works exceptionally well on Gold (XAUUSD) due to high volatility.
✅ Combines reversal & trend strategies for improved adaptability.
✅ Uses ATR-based risk management for dynamic position sizing.
✅ Fully automated alerts for trade entries and exits.
🔔 Alerts
This script includes automated TradingView alerts for:
🔹 Keltner Band touches (Reversal signals).
🔹 EMA crossovers (Momentum trades).
🔹 Stop-loss & Take-profit activations.
📊 Ideal Markets & Timeframes
Best for: Gold (XAUUSD), NASDAQ (NQ), Crude Oil (CL), and trending assets.
Recommended Timeframes: 15m, 1H, 4H, Daily.
⚡️ How to Use
1️⃣ Add this script to your TradingView chart.
2️⃣ Select a 15m, 1H, or 4H timeframe for optimal results.
3️⃣ Enable alerts to receive trade notifications in real time.
4️⃣ Backtest and tweak ATR settings to fit your trading style.
🚀 Optimize your Gold trading with this Keltner Channel Strategy! Let me know how it performs for you. 💰📊
Mogwai Method with RSI and EMA - BTCUSD 15mThis is a custom TradingView indicator designed for trading Bitcoin (BTCUSD) on a 15-minute timeframe. It’s based on the Mogwai Method—a mean-reversion strategy—enhanced with the Relative Strength Index (RSI) for momentum confirmation. The indicator generates buy and sell signals, visualized as green and red triangle arrows on the chart, to help identify potential entry and exit points in the volatile cryptocurrency market.
Components
Bollinger Bands (BB):
Purpose: Identifies overextended price movements, signaling potential reversions to the mean.
Parameters:
Length: 20 periods (standard for mean-reversion).
Multiplier: 2.2 (slightly wider than the default 2.0 to suit BTCUSD’s volatility).
Role:
Buy signal when price drops below the lower band (oversold).
Sell signal when price rises above the upper band (overbought).
Relative Strength Index (RSI):
Purpose: Confirms momentum to filter out false signals from Bollinger Bands.
Parameters:
Length: 14 periods (classic setting, effective for crypto).
Overbought Level: 70 (price may be overextended upward).
Oversold Level: 30 (price may be overextended downward).
Role:
Buy signal requires RSI < 30 (oversold).
Sell signal requires RSI > 70 (overbought).
Exponential Moving Averages (EMAs) (Plotted but not currently in signal logic):
Purpose: Provides trend context (included in the script for visualization, optional for signal filtering).
Parameters:
Fast EMA: 9 periods (short-term trend).
Slow EMA: 50 periods (longer-term trend).
Role: Can be re-added to filter signals (e.g., buy only when Fast EMA > Slow EMA).
Signals (Triangles):
Buy Signal: Green upward triangle below the bar when price is below the lower Bollinger Band and RSI is below 30.
Sell Signal: Red downward triangle above the bar when price is above the upper Bollinger Band and RSI is above 70.
How It Works
The indicator combines Bollinger Bands and RSI to spot mean-reversion opportunities:
Buy Condition: Price breaks below the lower Bollinger Band (indicating oversold conditions), and RSI confirms this with a reading below 30.
Sell Condition: Price breaks above the upper Bollinger Band (indicating overbought conditions), and RSI confirms this with a reading above 70.
The strategy assumes that extreme price movements in BTCUSD will often revert to the mean, especially in choppy or ranging markets.
Visual Elements
Green Upward Triangles: Appear below the candlestick to indicate a buy signal.
Red Downward Triangles: Appear above the candlestick to indicate a sell signal.
Bollinger Bands: Gray lines (upper, middle, lower) plotted for reference.
EMAs: Blue (Fast) and Orange (Slow) lines for trend visualization.
How to Use the Indicator
Setup
Open TradingView:
Log into TradingView and select a BTCUSD chart from a supported exchange (e.g., Binance, Coinbase, Bitfinex).
Set Timeframe:
Switch the chart to a 15-minute timeframe (15m).
Add the Indicator:
Open the Pine Editor (bottom panel in TradingView).
Copy and paste the script provided.
Click “Add to Chart” to apply it.
Verify Display:
You should see Bollinger Bands (gray), Fast EMA (blue), Slow EMA (orange), and buy/sell triangles when conditions are met.
Trading Guidelines
Buy Signal (Green Triangle Below Bar):
What It Means: Price is oversold, potentially ready to bounce back toward the Bollinger Band middle line.
Action:
Enter a long position (buy BTCUSD).
Set a take-profit near the middle Bollinger Band (bb_middle) or a resistance level.
Place a stop-loss 1-2% below the entry (or based on ATR, e.g., ta.atr(14) * 2).
Best Context: Works well in ranging markets; avoid during strong downtrends.
Sell Signal (Red Triangle Above Bar):
What It Means: Price is overbought, potentially ready to drop back toward the middle line.
Action:
Enter a short position (sell BTCUSD) or exit a long position.
Set a take-profit near the middle Bollinger Band or a support level.
Place a stop-loss 1-2% above the entry.
Best Context: Effective in ranging markets; avoid during strong uptrends.
Trend Filter (Optional):
To reduce false signals in trending markets, you can modify the script:
Add and ema_fast > ema_slow to the buy condition (only buy in uptrends).
Add and ema_fast < ema_slow to the sell condition (only sell in downtrends).
Check the Fast EMA (blue) vs. Slow EMA (orange) alignment visually.
Tips for BTCUSD on 15-Minute Charts
Volatility: BTCUSD can be erratic. If signals are too frequent, increase bb_mult (e.g., to 2.5) or adjust RSI levels (e.g., 75/25).
Confirmation: Use volume spikes or candlestick patterns (e.g., doji, engulfing) to confirm signals.
Time of Day: Mean-reversion works best during low-volume periods (e.g., Asian session in crypto).
Backtesting: Use TradingView’s Strategy Tester (convert to a strategy by adding entry/exit logic) to evaluate performance with historical BTCUSD data up to March 13, 2025.
Risk Management
Position Size: Risk no more than 1-2% of your account per trade.
Stop Losses: Always use stops to protect against BTCUSD’s sudden moves.
Avoid Overtrading: Wait for clear signals; don’t force trades in choppy or unclear conditions.
Example Scenario
Chart: BTCUSD, 15-minute timeframe.
Buy Signal: Price drops to $58,000, below the lower Bollinger Band, RSI at 28. A green triangle appears.
Action: Buy at $58,000, target $59,000 (middle BB), stop at $57,500.
Sell Signal: Price rises to $60,500, above the upper Bollinger Band, RSI at 72. A red triangle appears.
Action: Sell at $60,500, target $59,500 (middle BB), stop at $61,000.
This indicator is tailored for mean-reversion trading on BTCUSD. Let me know if you’d like to tweak it further (e.g., add filters, alerts, or alternative indicators)!
Flux Charts - SFX Automation💎 GENERAL OVERVIEW
The SFX Automation is a powerful and versatile tool designed to help traders rigorously test their trading strategies against historical market data. With various advanced settings, traders can fine-tune their strategies, assess performance, and identify key improvements before deploying in live trading environments. This tool offers a wide range of configurable settings, explained within this write-up.
Features of the new SFX Automation :
Step By Step : Configure your strategy step by step, which will allow you to have OR & AND logic in your strategies.
Highly Configurable : Offers multiple parameters for fine-tuning trade entry and exit conditions.
Multi-Timeframe Analysis : Allows traders to analyze multiple timeframes simultaneously for enhanced accuracy.
Provides advanced stop-loss, take-profit, and break-even settings.
Incorporates Buy & Sell signals, with settings like Signal Sensitivity, Strength, Time Weighting, Dynamic TP & SL Methods and more for refined strategy execution.
🚩 UNIQUENESS
The SFX Automation stands out from conventional backtesting tools due to its unparalleled flexibility, precision, and advanced trading logic integration. Key factors that make it unique include:
✅ Comprehensive Strategy Customization – Unlike traditional backtesters that offer basic entry and exit conditions, SFX Automation provides a highly detailed parameter set, allowing traders to fine-tune their strategies with precision.
✅ Multi-Timeframe Signals – This is the first-ever tool that allows traders to backtest Buy & Sell Signals on multiple timeframes.
✅ Customizable Take-Profit Conditions – Offers various methods to set take-profit exits, including using core features from SFX Algo, and dynamic exits like signal rating upgrades/downgrades, enabling traders to tailor their exit strategies to specific market behaviors.
✅ Customizable Stop-Loss Conditions – Provides several ways to set up stop losses, including using concepts from SFX Algo and trailing stops or dynamic exits like signal rating upgrades/downgrades, allowing for dynamic risk management tailored to individual strategies.
✅ Integration of External Indicators – Allows the inclusion of other indicators or data sources from TradingView for creating strategy conditions, enabling traders to enhance their strategies with additional insights and data points.
By integrating these advanced features, SFX Automation ensures that traders can rigorously test and optimize their strategies with great accuracy and efficiency.
📌 HOW DOES IT WORK ?
The first setting you will want to set it the pyramiding setting. This setting controls the number of simultaneous trades in the same direction allowed in the strategy. For example, if you set it to 1, only one trade can be active in any time, and the second trade will not be entered unless the first one is exited. If it is set to 2, the script will handle both of them at the same time. Note that you should enter the same value to this pyramiding setting, and the pyramiding setting in the "Properties" tab of the script for this to work.
You can enable and set a backtesting window that will limit the entries to between the start date & end date.
Entry Conditions
From the "Long Conditions" or the "Short Conditions" groups, you can set your position entry conditions. For settings like "initial capital" or "order size", you can open the "Properties" tab, where these are handled.
The SFX Algo can use the following conditions for entry conditions :
1. Buy Signal (Any, or 1-5 ☆)
This condition is triggered when a Buy Signal occurs. Other timeframes are supported with this condition.
2. Buy | TP (1, 2 or 3)
This condition is triggered when a TP signal of any Buy signal occurs.
3. Buy | SL
This condition is triggered when a SL signal of any Buy signal occurs.
4. Buy | Rating Upgrade
This condition is triggered when the rating of a buy signal is increased.
5. Buy | Rating Downgrade
This condition is triggered when the rating of a buy signal is decreased.
6. Sell Signal (Any, or 1-5 ☆)
This condition is triggered when a Sell Signal occurs. Other timeframes are supported with this condition.
7. Sell | TP (1, 2 or 3)
This condition is triggered when a TP signal of any Sell signal occurs.
8. Sell | SL
This condition is triggered when a SL signal of any Sell signal occurs.
9. Sell | Rating Upgrade
This condition is triggered when the rating of a sell signal is increased.
10. Sell | Rating Downgrade
This condition is triggered when the rating of a sell signal is decreased.
11. Retracement Wave Retest (Bullish or Bearish)
A retest on the Retracement Wave occurs when the price temporarily moves against the prevailing trend, touching or entering the wave before continuing in the original trend direction. This retest serves as a confirmation that the wave is acting as dynamic support or resistance.
12. Retracement Wave Retracement (Bullish or Bearish)
A retracement on the Retracement Wave occurs when the price touches the wave, the condition is triggered immediately.
13. Volatility Bands Retest (Bullish or Bearish)
A retest of Volatility Bands occurs when the price initially moves beyond the bands, then pulls back to "retest" the band it just broke through before continuing its move. This can provide traders with confirmation of a breakout or signal a potential reversal.
14. Volatility Bands Retracement (Bullish or Bearish)
A retracement on the Volatility Bands occur when the price touches the band, the condition is triggered immediately.
🕒 TIMEFRAME CONDITIONS
The SFX Automation supports Multi-Timeframe (MTF) features for Buy & Sell signals. When setting an entry condition, you can also choose the timeframe.
External Conditions
Users can use external indicators on the chart to set entry conditions.
The second dropdown in the external condition settings allows you to choose a conditional operator to compare external outputs. Available options include:
Less Than or Equal To: <=
Less Than: <
Equal To: =
Greater Than: >
Greater Than or Equal To: >=
The position entry conditions work like this ;
Each side has 3 SFX Algo conditions and 2 Source conditions. Each condition can be enabled or disabled using the checkbox on the left side of them.
You can select which timeframe this condition should work on for Buy & Sell signals. If you select "Chart", the condition will work for the chart's current timeframe.
Lastly select the step of this condition from 1 to 6.
The Source Condition
The last condition on each side is a source condition that is different from the others. Using this condition, you can create your own logic using other indicators' outputs on your chart. For example, suppose that you have an EMA indicator in your chart. You can have the source condition to something like "EMA > high".
The Step System
Each condition has a step number, and conditions are in topological order based on them.
The conditions are executed step by step. This means the condition with step 2 cannot be executed before the condition with step 1 is executed.
Conditions with the same step numbers have "OR" logic. This means that if you have 2 conditions with step 3, the condition with step 4 can trigger after only one of the step 3 conditions is executed.
➕ OTHER ENTRY FEATURES
The SFX Automation allows traders to choose when to execute trades and when not to execute trades.
1. Only Take Trades
This setting lets users specify the time period when their strategy can open or execute trades.
2. Don't Take Trades
This setting lets users specify time periods when their strategy can't open or execute trades.
↩️ EXIT CONDITIONS
1. Exit on Opposite Signal
When enabled, a long position will close when short entry conditions are met, and a short position will close when long entry conditions are met.
2. Exit on Session End
When enabled, positions will be closed at the end of the trading session.
📈 TAKE PROFIT CONDITIONS
There are several methods available for setting take profit exits and conditions.
1. Entry Condition TP
Users can use entry conditions as triggers for take profit exits. This setting can be found under the long and short exit conditions.
2. Fixed TP
Users can set a fixed TP for exits. This setting can be found under the long and short exit conditions. Users can choose between the following:
Price: This method triggers a TP exit when price reaches a specified level. For example, if you set the Price TP to 10 and buy NASDAQ:TSLA at $190, the trade will automatically exit when the price reaches $200 ($190 + $10).
Ticks: This method triggers a TP exit when price moves a specified number of ticks.
Percentage (%): This method triggers a TP exit when price moves a specified percentage.
ATR: This method triggers a TP exit based on a specified multiple of the Average True Range (ATR).
🧩EXIT PERCENTAGES
For each 3 dynamic take-profit conditions, you can set the amount of the position to exit in terms of percentage. It's important to make sure that the total of the exit percentages are 100%.
📉 STOP LOSS CONDITIONS
There are several methods available for setting stop-loss exits and conditions.
1. Entry Condition SL
Users can use entry conditions as triggers for stop-loss exits. This setting can be found under the long and short exit conditions.
2. Fixed SL
Users can set a fixed SL for exits. This setting can be found under the long and short exit conditions. Users can choose between the following:
Price: This method triggers a SL exit when price reaches a specified level. For example, if you set the Price SL to 10 and buy NASDAQ:TSLA at $200, the trade will automatically exit when the price reaches $190 ($200 - $10).
Ticks: This method triggers a SL exit when price moves a specified number of ticks.
Percentage (%): This method triggers a SL exit when price moves a specified percentage.
ATR: This method triggers a SL exit based on a specified multiple of the Average True Range (ATR).
3. Trailing Stop
An explanation & example for the trailing stop feature is present on the write-up within the next section.
Exit conditions have the same logic of constructing conditions like the entry ones. You can construct a Take-Profit Condition & a Stop-Loss Condition. Note that the Take-Profit condition will only work if the position is in profit, regardless of if it's triggered or not. The same applies for the Stop-Loss condition, meaning that it will only work if the position is in loss.
You can also set a Fixed TP & Fixed SL based on the price movement after the position is entered. You have options like "Price", "Ticks", "%", or "Average True Range". For example, you can set a Fixed TP like "5%", and the position will be entered once it moves 5% up in a long position.
Trailing Stop
For the Fixed SL, you also have a "Trailing" stop option, which you can set it's activation level as well. The Trailing stop activation level and it's value are expressed in ticks. Check this scenerio for an example :
We have a ticker with a tick value of $1. Our Trailing Stop is set to 10 ticks, and the activation level is set to 30 ticks.
We buy 1 contract when the price is $100.
When the price becomes $110, we are in $10 (10 ticks) profit and the trailing stop is now activated.
The current price our stop's on is $110 - $30 (30 ticks), which is the level of $80.
The trailing stop will only move if the price moves up the highest high the price has been after we entered the position.
Let's suppose that price moves up $40 right after our trailing stop is activated. The price will now be $150, and our trailing stop will sit on $150 - $30 (30 ticks) = $120.
If the price is down the $120 level, our stop loss will be triggered.
There is also a "Hard SL" option designed for a backup stop-loss when trailing stops are enabled. You can enable & set this option and if the price goes down before our trailing stop even activates, the position will be exited.
You can also move stop-loss to the break-even (entry price of the position) after a certain profit is achieved using the last setting of the exit conditions. Note that for this to work, you will need to have a Fixed SL setup.
➕ OTHER EXIT FEATURES
1. Move Stop Loss to Breakeven
This setting allows the strategy to automatically move the SL to Breakeven (BE) when the position is in profit by a certain amount. Users can choose between the following:
Price: This method moves the SL to BE when price reaches a specified level.
Ticks: This method moves the SL to BE when price moves a specified number of ticks.
Percentage (%): This method moves the SL to BE when price moves a specified percentage.
ATR: This method moves the SL to BE when price moves a specified multiple of the Average True Range (ATR).
Example Entry Scenario
To give an example , check this scenario; out conditions are :
LONG CONDITIONS
Buy Signal Any☆, Step 1
Bullish R. Wave Retest, Step 2
Bullish V. Bands Retest, Step 2
open > close, Step 3
First, the strategy needs to detect a Buy Signal with any star rating in order to start working.
After it's detected, now it's looking for either a Bullish R. Wave Retest, or a Bullish V. Bands Retest to proceed to the next step, the reason for this is that they both have the same step number.
After one of them is detected, the strategy will consistently check candlesticks for the condition open > close. If a bullish candlestick occurs, a long position will be entered.
⏰ ALERTS
This indicator uses TradingView's strategy alert system. All entries and exits will be sent as an alert if configured. It's possible to further customize these alerts to your liking. For more information, check TradingView's strategy alert customization page: www.tradingview.com
⚙️ SETTINGS
1. Backtesting Settings
Pyramiding: Controls the number of simultaneous trades allowed in the strategy. This setting must have the same value that is entered on the script's properties tab on the settings pane.
Enable Custom Backtesting Period: Restricts backtesting to a specific date range.
Start & End Time Configuration: Define precise start and end dates for historical analysis.
2. Algorithm Settings
Sensitivity: The sensitivity setting is a key parameter that influences the number of signals the SFX Algo generates. By adjusting this parameter, you can control the frequency of signals produced by the algorithm.
Signal Strength: The Signal Strength setting filters signals based on their quality, allowing traders to focus on the most reliable opportunities. This feature helps traders balance the quantity and reliability of the algorithm’s signals to suit their trading strategy.
Time Weighting: The Time Weighting setting determines how the SFX Algo evaluates historical market data to generate signals.
a) Recent Trends
Focuses on the most recent movements for short-term analysis. This setting is good for scalpers and intraday traders who need to react quickly to market changes.
b) Mixed Trends
Balances recent and historical price movements for a comprehensive market view. This setting is well-suited for swing traders and those who want to capture medium-term opportunities by combining the benefits of short-term responsiveness with the reliability of long-term trends.
c) Long-term Trends
Relies on extended historical market data to identify broader market trends, making it an excellent choice for traders focused on long-term strategies.
Minimum Star Rating: The Minimum Star Rating setting allows you to filter signals based on their strength, showing only those that meet or exceed your chosen threshold. For instance, setting the minimum star rating to 3 ensures you only receive signals with a rating of 3 stars or higher.
3. Take Profit / Stop Loss Methods
Key Levels
The Key Levels method uses pivot points to set take profit and stop-loss levels. The TP and SL levels are shown when a new signal is generated.
Volatility Bands
This TP/SL method uses the Volatility Bands overlay to set dynamic TP and SL levels. These levels are not predetermined so they will not be shown in advance when a signal is generated.
Signal Rating
Sets take profit and stop-loss levels based on changes in a signal's rating strength. These levels are not predetermined so they will not be shown in advance when a signal is generated.
Auto Stop-Loss
The auto method can only be applied to the SL. The auto method allows the algorithm to detect SL automatically when a momentum shift is detected. You can adjust the risk tolerance of the Auto SL by adjusting the ‘Auto Risk Tolerance’ setting. You can choose between Low, Medium, and High. A high-risk tolerance will result in stop losses being triggered less often.
4. Entry Conditions for Long & Short Trades
Multiple Conditions (1-6): Configure up to six independent conditions per trade direction.
Timeframe Specification: Choose between timeframes for Buy & Sell signals.
Trade Execution Filters: Restrict trades within specific trading sessions.
5. Exit Conditions for Long & Short Trades
Exit on Opposite Signal: Automatically exit trades upon opposite trade conditions.
Exit on Session End: Closes all positions at the end of the trading session.
Multiple Take-Profit (TP) and Stop-Loss (SL) Configurations:
TP/SL based on % move, ATR, Ticks, or Fixed Price.
Hard SL option for additional risk control.
Move SL to BE (Break Even) after a certain profit threshold.
Breaks and Retests - Free990Strategy Description: "Breaks and Retests - Free990"
The "Breaks and Retests - Free990" strategy is based on identifying breakout and retest opportunities for potential entries in both long and short trades. The idea is to detect price breakouts above resistance levels or below support levels, and subsequently identify retests that confirm the breakout levels. The strategy offers an automated approach to enter trades after a breakout followed by a retest, which serves as a confirmation of trend continuation.
Key Components:
Support and Resistance Detection:
The strategy calculates pivot levels based on historical price movements to define support and resistance areas. A lookback range is used to determine these key levels.
Breakouts and Retests:
The system identifies when a breakout occurs above a resistance level or below a support level.
It then waits for a retest of the previously broken level as confirmation, which is often a better entry opportunity.
Trade Direction Selection:
Users can choose between "Long Only," "Short Only," or "Both" directions for trading based on their market view.
Stop Loss and Trailing Stop:
An initial stop loss is placed at a defined percentage away from the entry.
The trailing stop loss is activated after the position gains a specified percentage in profit.
Long Entry:
A long entry is triggered if the price breaks above a resistance level and subsequently retests that level successfully.
The entry condition checks if the breakout was confirmed and if a retest was valid.
The long entry is only executed if the user-selected direction is either "Long Only" or "Both."
Short Entry:
A short entry is triggered if the price breaks below a support level and subsequently retests that level.
The short entry is only executed if the user-selected direction is either "Short Only" or "Both."
sell_condition checks whether the support has been broken and whether the retest condition is valid.
An initial stop loss is placed when the trade is opened to limit the risk if the trade moves against the position.
The stop loss is calculated based on a user-defined percentage (stop_loss_percent) of the entry price.
pinescript
Copy code
stop_loss_price := strategy.position_avg_price * (1 - stop_loss_percent / 100)
For long positions, the stop loss is placed below the entry price.
For short positions, the stop loss is placed above the entry price.
Trailing Stop:
When a position achieves a certain profit threshold (profit_threshold_percent), the trailing stop mechanism is activated.
For long positions, the trailing stop follows the highest price reached, ensuring that some profit is locked in if the price reverses.
For short positions, the trailing stop follows the lowest price reached.
Code Logic for Trailing Stop:
Exit Execution:
The strategy exits the position when the price hits the calculated stop loss level.
This includes both the initial stop loss and the trailing stop that adjusts as the trade progresses.
Code Logic for Exit:
Summary:
Breaks and Retests - Free990 uses support and resistance levels to identify breakouts, followed by retests for confirmation.
Entry Points: Triggered when a breakout is confirmed and a retest occurs, for both long and short trades.
Exit Points:
Initial Stop Loss: Limits risk for both long and short trades.
Trailing Stop Loss: Locks in profits as the price moves in favor of the position.
This strategy aims to capture the momentum after breakouts and minimize losses through effective use of stop loss and trailing stops. It gives the flexibility of selecting trade direction and ensures trades are taken with confirmation through the retest, which helps to reduce false breakouts.
Original Code by @HoanGhetti
Crypto Volatility Bitcoin Correlation Strategy Description:
The Crypto Volatility Bitcoin Correlation Strategy is designed to leverage market volatility specifically in Bitcoin (BTC) using a combination of volatility indicators and trend-following techniques. This strategy utilizes the VIXFix (a volatility indicator adapted for crypto markets) and the BVOL7D (Bitcoin 7-Day Volatility Index from BitMEX) to identify periods of high volatility, while confirming trends with the Exponential Moving Average (EMA). These components work together to offer a comprehensive system that traders can use to enter positions when volatility and trends are aligned in their favor.
Key Features:
VIXFix (Volatility Index for Crypto Markets): This indicator measures the highest price of Bitcoin over a set period and compares it with the current low price to gauge market volatility. A rise in VIXFix indicates increasing market volatility, signaling that large price movements could occur.
BVOL7D (Bitcoin 7-Day Volatility Index): This volatility index, provided by BitMEX, measures the volatility of Bitcoin over the past 7 days. It helps traders monitor the recent volatility trend in the market, particularly useful when making short-term trading decisions.
Exponential Moving Average (EMA): The 50-period EMA acts as a trend indicator. When the price is above the EMA, it suggests the market is in an uptrend, and when the price is below the EMA, it suggests a downtrend.
How It Works:
Long Entry: A long position is triggered when both the VIXFix and BVOL7D indicators are rising, signaling increased volatility, and the price is above the 50-period EMA, confirming that the market is trending upward.
Exit: The strategy exits the position when the price crosses below the 50-period EMA, which signals a potential weakening of the uptrend and a decrease in volatility.
This strategy ensures that traders only enter positions when the volatility aligns with a clear trend, minimizing the risk of entering trades during periods of market uncertainty.
Testing and Timeframe:
This strategy has been tested on Bitcoin using the daily timeframe, which provides a longer-term perspective on market trends and volatility. However, users can adjust the timeframe according to their trading preferences. It is crucial to note that this strategy does not include comprehensive risk management, aside from the exit condition when the price crosses below the EMA. Users are strongly advised to implement their own risk management techniques, such as setting appropriate stop-loss levels, to safeguard their positions during high volatility periods.
Utility:
The Crypto Volatility Bitcoin Correlation Strategy is particularly well-suited for traders who aim to capitalize on the high volatility often seen in the Bitcoin market. By combining volatility measurements (VIXFix and BVOL7D) with a trend-following mechanism (EMA), this strategy helps identify optimal moments for entering and exiting trades. This approach ensures that traders participate in potentially profitable market moves while minimizing exposure during times of uncertainty.
Use Cases:
Volatility-Based Entries: Traders looking to take advantage of market volatility spikes will find this strategy useful for timing entry points during market swings.
Trend Confirmation: By using the EMA as a confirmation tool, traders can avoid entering trades that go against the trend, which can result in significant losses during volatile market conditions.
Risk Management: While the strategy exits when price falls below the EMA, it is important to recognize that this is not a full risk management system. Traders should use caution and integrate additional risk measures, such as stop-losses and position sizing, to better manage potential losses.
How to Use:
Step 1: Monitor the VIXFix and BVOL7D indicators. When both are rising and the Bitcoin price is above the EMA, the strategy will trigger a long entry, indicating that the market is experiencing increased volatility with a confirmed uptrend.
Step 2: Exit the position when the price drops below the 50-period EMA, signaling that the trend may be reversing or weakening, reducing the likelihood of continued upward price movement.
This strategy is open-source and is intended to help traders navigate volatile market conditions, particularly in Bitcoin, using proven indicators for volatility and trend confirmation.
Risk Disclaimer:
This strategy has been tested on the daily timeframe of Bitcoin, but users should be aware that it does not include built-in risk management except for the below-EMA exit condition. Users should be extremely cautious when using this strategy and are encouraged to implement their own risk management, such as using stop-losses, position sizing, and setting appropriate limits. Trading involves significant risk, and this strategy does not guarantee profits or prevent losses. Past performance is not indicative of future results. Always test any strategy in a demo environment before applying it to live markets.
Position Size Calculator for ContractDescription:
Position Size Calculator is a versatile Pine Script tool designed to help traders manage their risk and position sizing effectively. This script calculates essential trading metrics and visualizes them directly on your chart, helping you make informed trading decisions.
Features:
- Account Size & Risk Management:
- Account Size: Input your total account balance to calculate position sizes.
- Maximum Risk: Define how much of your account you are willing to risk per trade in dollars.
- Pip Value: Set the value of a single pip for one contract, which is crucial for calculating risk
and position size.
Trade Setup Visualization:
- Entry Price: Specify the price at which you plan to enter the trade.
- Stop Loss: Define your stop loss level to manage your risk.
- Take Profit: Set your target profit level for the trade.
- Visualize the Entry, Stop Loss, and Take Profit levels on your chart with customizable line
colors and text sizes.
- View the distance in pips between the Entry, Stop Loss, and Take Profit levels.
Position Size Calculation:
- Calculates the number of contracts to open based on your risk tolerance and the pip value.
- Displays the maximum number of contracts you can open given your risk parameters.
Customizable Table Display:
- Table Position: Choose the position of the summary table on the chart (Top-Left, Top-Right,
Bottom-Left, Bottom-Right, etc.).
- Table Text Size: Adjust the text size for the summary table.
- Table Background Color: Set the background color for the summary table.
- Table Border Color: Customize the border color of the summary table.
How to Use:
1- Input your Account Size: Enter your current account balance.
2- Set Maximum Risk and Pip Value: Define how much you're willing to risk per trade and the
pip value for your contract.
3- Define Trade Levels: Input your desired Entry Price, Stop Loss, and Take Profit levels.
4- Customize Visuals: Adjust the line styles and table settings to fit your preferences.
5- View Calculations: The script will display the distance in pips and the calculated position
size directly on your chart.
Example Usage:
Example to calculate the value of 1 pips with 1 contract:
Inputs:
Account Size: Your total trading account balance.
Maximum Risk: Risk amount per trade in dollars.
Pip Value: Value of one pip for a single contract.
Entry Price: The price at which you plan to enter the trade.
Stop Loss: The level at which you will exit the trade to cut losses.
Take Profit: The target price to lock in profits.
Line Text Size: Size of the text for the Entry, Stop Loss, and Take Profit lines.
Line Extend: Option to extend the lines for visual clarity.
Table Position: Position of the summary table on the chart.
Table Text Size: Size of the text in the summary table.
Table Background Color: Background color of the summary table.
Table Border Color: Border color of the summary table.
Visuals:
Entry Price, Stop Loss, and Take Profit levels are clearly marked on the chart.
Summary Table with important trade metrics displayed.